壳参数doest传递命令
问题描述:
我使用下面的代码来执行shell命令,问题是,当我把它作为参数,我应该从用户得到它不工作,但如果我把它硬编码它的作品,任何想法可能是什么问题?壳参数doest传递命令
工作
VAL=`./test a | grep '^.(\bpass\b)?.$' | cut -d ' ' -g1`
不工作
VAL=`./test a | grep ${param} | cut -d ' ' -g1`
在不工作的版本,我做cat
到PARAM我看到了价值印刷OK,我该怎么办错过时我通过${param}
?
答
shell中的参数是$ 1 $ 2 $ 3 etc ... 现在你输入的是空数据。
您可能需要在$ 1参数周围放置“”。并确保1美元的价值确实是正确的价值。
变量'param'确实包含正确的值吗?运行'-x'下的代码来验证它,或者在之前执行一个'echo param =“$ param”'。 – user1934428