Linux 外壳参数不';我不能发号施令

Linux 外壳参数不';我不能发号施令,linux,shell,command-line,command,Linux,Shell,Command Line,Command,我使用下面的代码来执行shell命令,问题是当我把它作为应该从用户那里得到的参数时,它不工作,但如果我把它硬编码,它就工作了 工作 不起作用 在我对param执行cat操作的非工作版本中,我看到打印的值是OK,当我传递${param}时,我会错过什么 shell中的参数为$1$2$3等。。。 现在您键入的是空数据 您可能需要在$1参数周围加上“”。并确保$1的值确实是正确的值。取决于如果我看到数据,你想做什么。我应该如何更改它?我想得到的是当我使用第一个命令(从post…)时得到的值VAL。(\

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

工作

不起作用


在我对param执行
cat
操作的非工作版本中,我看到打印的值是OK,当我传递
${param}
时,我会错过什么

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


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

取决于如果我看到数据,你想做什么。我应该如何更改它?我想得到的是当我使用第一个命令(从post…)时得到的值
VAL
。(\bpass\b)?.$是参数吗?当我将其更改为
VAL=
/test a | grep$1 | cut-d''-g1``时,它不起作用变量
param
是否真的包含正确的值?在
-x
下运行代码以验证它,或者在之前执行
echo param=“$param”
VAL=`./test a | grep '^.(\bpass\b)?.$' | cut -d ' ' -g1`
VAL=`./test a | grep ${param} | cut -d ' ' -g1`