我是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/