shell 变量号包含1 1 1 1 1
由制表符分隔的。
我希望它只包含前 1 个。
我想
number= $(echo "$number"| cut -f 3 )
我收到错误“1:未找到命令”,并且数字的内容没有改变。
我究竟做错了什么?
答案1
假设是number
制表符分隔,然后考虑:
number= $(echo "$number"| cut -f 3 )
的结果echo "$number"| cut -f 3
是 其中的第三个元素numbers
是1
。因此,shell 尝试执行:
number= 1
在此命令中,变量number
暂时设置为空,并且 shell 尝试执行该命令1
。由于没有名为 的命令1
,shell 会发出错误消息:
bash: 1: command not found
这是 shell 试图告诉您它找不到名为 的命令1
。
解决方案是删除空格:
number=$(echo "$number"| cut -f 3 )
命令替换后,变为:
number=1
这将成功分配number
为具有值1
。
答案2
尝试在“=”符号后不加空格。我的意思是,尝试一下
number=$(echo "$number"| cut -f 3 )
代替
number= $(echo "$number"| cut -f 3 )