在Linux shell中,如何处理多行字符串的每一行?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (1440)

在Linuxshell中,我有一个字符串,其内容如下:

cat
dog
bird

我想把每个项目作为参数传递给另一个函数。我该怎么做?

提问于
用户回答回答于

使用此方法(它是从文件中读取每一行的循环)。

cat file | while read -r a; do echo $a; done
用户回答回答于

只需将字符串传递给函数:

function my_function
{
    while test $# -gt 0
    do
        echo "do something with $1"
        shift
    done
}
my_string="cat
dog
bird"
my_function $my_string

得到:

do something with cat
do something with dog
do something with bird

扫码关注云+社区

领取腾讯云代金券