我使用以下代码执行shell命令,问题是当我把它作为参数时我应该从用户那里得到它不起作用但是如果我把它硬编码就可以了。
工作
VAL=`./test a | grep '^.(\bpass\b)?.$' | cut -d ' ' -g1`
不工作
VAL=`./test a | grep ${param} | cut -d ' ' -g1`
在我执行cat
param的不工作版本中,我看到打印的值好了,当我通过${param}
时我会错过什么?
答案 0 :(得分:1)
shell中的参数是$ 1 $ 2 $ 3等... 现在你输入的是空数据。
你可能需要把""围绕$ 1参数。并确保$ 1的值确实是正确的值。