shell 变量号包含1 1 1 1 1
由制表符分隔。
我希望它只包含第一个 1。
我想
number= $(echo "$number"| cut -f 3 )
Run Code Online (Sandbox Code Playgroud)
我收到错误“1:未找到命令”并且 number 的内容没有改变。
我究竟做错了什么?
假设number
是制表符分隔的,然后考虑:
number= $(echo "$number"| cut -f 3 )
Run Code Online (Sandbox Code Playgroud)
的结果echo "$number"| cut -f 3
是第三个元素numbers
是1
。因此,shell 尝试执行:
number= 1
Run Code Online (Sandbox Code Playgroud)
在此命令中,变量number
临时设置为空,shell 尝试执行命令1
。由于没有名为1
的命令,shell 会发出错误消息:
bash: 1: command not found
Run Code Online (Sandbox Code Playgroud)
这是 shell 试图告诉您它找不到名为1
.
解决办法是去掉空格:
number=$(echo "$number"| cut -f 3 )
Run Code Online (Sandbox Code Playgroud)
命令替换后,这变为:
number=1
Run Code Online (Sandbox Code Playgroud)
这将成功分配number
给值1
。