我有一个Bash脚本,它传递模式并切换到grep。如何保留在bash参数中引用的字符串
#!/bin/bash
foo() {
grep [email protected] *.txt
}
foo [email protected]
,当然,myscript SomeText
的作品,但myscript "Text1 Text2"
没有。从脚本传递参数到foo()然后从foo()传递给grep时,是否有办法保留引号?
请注意,我不能简单地使用eval并在grep之前包装整个$ @,因为它也可以包含开关,所以我需要保留从命令行传递的原始引用。
谢谢。
[参考](http://mywiki.wooledge.org/Quotes#Expand_argument_lists) – l0b0
谢谢!我以为我已经测试过你的解决方案,但我可能忘了在其中一个电话中引用$ @。 – jackhab
@jackhab,引用和未引用的区别在http://stackoverflow.com/a/12316565/7552 –