我使用以下代码执行shell命令,问题是当我将其作为应从用户那里获取的参数时,它不起作用,但是如果我对其进行硬编码,则它可以工作。
工作中
VAL=`./test a | grep '^.(\bpass\b)?.$' | cut -d ' ' -g1`
无法运作
VAL=`./test a | grep ${param} | cut -d ' ' -g1`
在我使用
cat
进行参数设置的不起作用的版本中,我看到打印的值正确,通过${param}
时我会错过什么呢? 最佳答案
shell中的参数为$ 1 $ 2 $ 3等...
现在,您键入的是空数据。
您可能需要在$ 1参数周围加上“”。并确保$ 1的值确实是正确的值。