Shell param不会通过命令传递

问题描述 投票:-1回答:1

我使用下面的代码来执行shell命令,问题是,当我把它作为参数,我应该从用户得到它不起作用,但如果我把它硬编码它的工作原理。

工作

VAL=`./test a | grep '^.(\bpass\b)?.$' | cut -d ' ' -g1`

不工作

VAL=`./test a | grep ${param} | cut -d ' ' -g1`

在我执行cat to param的不工作版本中,我看到打印的值好了,当我通过${param}时我能错过什么?

linux shell command-line command
1个回答
1
投票

shell中的参数是$ 1 $ 2 $ 3等...现在你键入的是空数据。

您可能需要在$ 1参数周围加上“”。并确保$ 1的值确实是正确的值。

© www.soinside.com 2019 - 2024. All rights reserved.