Linux 将命令集输出存储到shell变量会引发错误

Linux 将命令集输出存储到shell变量会引发错误,linux,bash,shell,unix,command-line,Linux,Bash,Shell,Unix,Command Line,在我的shell脚本中,我有以下几行 name=`grep -i "client" fin${i}.txt` jobplan_name=`${name} | cut -d "=" -f4 | cut -d " " -f1` echo ${jobplan_name} 输出: <JOBP: not found 我想你需要一个回音: jobplan_name=`echo ${name} | cut -d "=" -f4 | cut -d " " -f1` 我想你需要一个回音: jobpl

在我的shell脚本中,我有以下几行

name=`grep -i "client" fin${i}.txt`
jobplan_name=`${name} | cut -d "=" -f4 | cut -d " " -f1`
echo ${jobplan_name}
输出:

<JOBP:  not found

我想你需要一个
回音

jobplan_name=`echo ${name} | cut -d "=" -f4 | cut -d " " -f1`

我想你需要一个
回音

jobplan_name=`echo ${name} | cut -d "=" -f4 | cut -d " " -f1`

我想你需要一个
回音

jobplan_name=`echo ${name} | cut -d "=" -f4 | cut -d " " -f1`

我想你需要一个
回音

jobplan_name=`echo ${name} | cut -d "=" -f4 | cut -d " " -f1`

如果没有
echo
,您将尝试执行一个名为
name
的命令,并将其输出管道化为
cut
,而不是将
name
本身的值管道化为
cut
。因为反勾表示“将包含在中的命令的输出提供给我”。
name
变量的内容不是系统可以识别的命令:因此“找不到”。
echo
命令的输出是您想要的:变量
name
包含的字符串。如果没有
echo
,您将尝试执行名为
name
的命令,并将其输出传输到
cut
,而不是将
name
本身的值管道化到
cut
。因为反勾表示“给我包含在其中的命令的输出”。
name
变量的内容不是系统可以识别的命令:因此“找不到”。
echo
命令的输出是您想要的:变量
name
包含的字符串。如果没有
echo
,您将尝试执行名为
name
的命令,并将其输出传输到
cut
,而不是将
name
本身的值管道化到
cut
。因为反勾表示“给我包含在其中的命令的输出”。
name
变量的内容不是系统可以识别的命令:因此“找不到”。
echo
命令的输出是您想要的:变量
name
包含的字符串。如果没有
echo
,您将尝试执行名为
name
的命令,并将其输出传输到
cut
,而不是将
name
本身的值管道化到
cut
。因为反勾表示“给我包含在其中的命令的输出”。
name
变量的内容不是系统可以识别的命令:因此“找不到”。
echo
命令的输出是您想要的:变量
name
包含的字符串。