以下是我用来分配"黄色"到变量黄色。我似乎可以使用xargs回应它,但是当我将它指定为黄色然后尝试回显它时会打印出一个空行。
以下是命令。非常感谢您的帮助!
cut -c 2- color.txt | xargs -I {} yellow={};
答案 0 :(得分:4)
此处不需要xargs
:
yellow=$(cut -c 2- color.txt)
因为xargs
作为子进程运行,所以你实际上无法做任何改变shell状态的事情 - 即使你启动一个新shell,shell的变量和其他本地状态也会消失退出。因此,当子命令传递给xargs时,Shell赋值没有意义。
那就是说,你也不需要cut
。在本机bash中,不使用子进程或外部工具:
read color <color.txt
yellow=${color:1}
(1
与剪切中2
的列相同,因为bash PE expressions以第一个字符0
开头。)
答案 1 :(得分:4)
答案 2 :(得分:3)
您需要使用:
yellow=$(cut -c 2- color.txt)
xargs
需要执行外部shell二进制文件,而yellow={}
实际上不是二进制文件。