我有一个 Bash 脚本,它传递模式并切换到 grep。
#!/bin/bash
foo() {
grep $@ *.txt
}
foo $@
而且,当然,myscript SomeText
有效但myscript "Text1 Text2"
无效。将参数从脚本传递给 foo() 然后从 foo() 传递给 grep 时,有没有办法保留引号?
请注意,我不能简单地使用 eval 并将整个 $@ 包装在 grep 之前,因为它也可以包含开关,所以我需要保留从命令行传递的原始引用。
谢谢。