【发布时间】:2012-09-24 11:40:02
【问题描述】:
我有一个 Bash 脚本,它传递模式并切换到 grep。
#!/bin/bash
foo() {
grep $@ *.txt
}
foo $@
当然,myscript SomeText 有效,但 myscript "Text1 Text2" 无效。将参数从脚本传递给 foo() 然后从 foo() 传递给 grep 时,有没有办法保留引号?
请注意,我不能简单地使用 eval 并将整个 $@ 包装在 grep 之前,因为它也可以包含开关,所以我需要保留从命令行传递的原始引用。
谢谢。
【问题讨论】:
标签: bash parameter-passing double-quotes variable-expansion