我使用下面的代码来执行shell命令,问题是,当我把它作为参数,我应该从用户得到它不起作用,但如果我把它硬编码它的工作原理。
工作
VAL=`./test a | grep '^.(\bpass\b)?.$' | cut -d ' ' -g1`
不工作
VAL=`./test a | grep ${param} | cut -d ' ' -g1`
在我执行cat
to param的不工作版本中,我看到打印的值好了,当我通过${param}
时我能错过什么?
shell中的参数是$ 1 $ 2 $ 3等...现在你键入的是空数据。
您可能需要在$ 1参数周围加上“”。并确保$ 1的值确实是正确的值。