我很困惑;我用sh -c运行一个脚本,但如果我想传递一个参数,它将被忽略。
示例:
# script.sh
param=$1
echo "parameter is: " $param
如果我将其作为
运行sh -c ./script.sh hello
我在输出中什么也没得到
为什么会这样?我怎么能避免这个?
答案 0 :(得分:1)
这对你有用:
sh -c "./script.sh hello"
如果你这样运行:
sh -c ./script.sh hello
比hello
成为sh
的第二个参数,./script.sh
运行时没有参数。
答案 1 :(得分:0)
-c
开关接受一个参数。 shell将自己进行解析。 E.g。
sh -c './script.sh hello'