我希望在我的bash脚本中运行一些命令,让我们把它命名为 "test" 并从bash变量中传递一些参数。
我的脚本:
#!/bin/bash -x
PARAMS="-A 'Foo' -B 'Bar'"
./test $PARAMS
我有:
+ PARAMS='-A '\''Foo'\'' -B '\''Bar'\'''
+ ./test -A ''\''Foo'\''' -B ''\''Bar'\'''
这是错误的!
另一个案例:
#!/bin/bash -x
PARAMS='-A '"'"'Foo'"'"' -B '"'"'Bar'"'"
./test $PARAMS
结果也很令人沮丧:
+ PARAMS='-A '\''Foo'\'' -B '\''Bar'\'''
+ ./test -A ''\''Foo'\''' -B ''\''Bar'\'''
所以问题是 - 我如何将bash变量用作某些命令的命令行参数。 变量类似于“-A 'Foo' -B 'Bar'”(确切地说是带有单引号) 结果必须调用程序“./test”,并使用参数“-A 'Foo' -B 'Bar'”像这样:
./test -A 'Foo' -B 'Bar'
谢谢!
-x
只是显示 bash 如何看待它,而不是您的脚本。 - 123