首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >bash:使用tr创建数组不是在创建数组吗?

问bash:使用tr创建数组不是在创建数组吗?
EN

Stack Overflow用户
提问于 2022-07-27 06:38:47
回答 1查看 52关注 0票数 1

我正在修改在https://www.cyberciti.biz/faq/bash-scripting-using-awk/中找到的脚本,但是在下面的情况下,我仍然坚持不创建数组的原因。我查了一下如何在bash中爆炸字符串,很多网站都说要使用tr,所以我试了一下:

代码语言:javascript
复制
    FILES="$(ldd $pFILE | awk '{ print $1$2$3 }' | egrep -v ^'/')"

    for i in $FILES
    do
        arr=()
        arr=$(echo $i | tr '=>' ' ')
        
        echo "raw arr[0]=${arr[0]}"
        echo "raw arr[1]=${arr[1]}"
    done

所有结果表明,arr1是空的,arr有整个行,除了=>被更改为双空间(我想它应该将其更改为单个空格)。

代码语言:javascript
复制
> raw arr[0]=libpthread.so.0  /lib/i386-linux-gnu/libpthread.so.0
> raw arr[1]=
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-07-27 06:40:45

您需要将这些值放入()中来创建一个数组。

代码语言:javascript
复制
arr=($(echo "$i" | tr '=>' ' '))

在此之前没有必要使用arr=()。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73133282

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档