我是bash的新手,我无法弄清楚如何将此结果传递给函数。我有一个看起来像的文件:

1  df sadsd csd c
2  wkdfgc sdkj ds
3 sdjcvh sdch vsd h
4 sjdch sdhc sd


我有一个看起来像的功能

SimpleFunction () {
> echo $1;
> echo $2;
> }


我正在尝试做类似的事情:

SimpleFunction $( cat myfile | grep -i "2") ": line 2"


我期望输出看起来像

2  wkdfgc sdkj ds
: line2


但我明白了

2
wkdfgc


我怎样才能得到理想的结果?

最佳答案

发生这种情况是因为args默认情况下以空格分隔。您可以通过双引号args来绕开它:

SimpleFunction "$( cat myfile | grep -i '2')" ": line 2"

关于linux - bash将可执行参数传递给函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42475070/

10-13 09:32