以下是我使用的命令,将“yellow”赋值给变量“yellow”。我似乎无法使用xargs回显它,但当我将其分配给黄色然后尝试回显时,它会打印出一条空白行。
以下是命令。非常感谢你的帮助!
以下是命令。非常感谢你的帮助!
cut -c 2- color.txt | xargs -I {} yellow={};
xargs
:yellow=$(cut -c 2- color.txt)
由于xargs
作为子进程运行,因此您无法从中更改外壳状态 - 即使启动了新外壳,该外壳的变量和其他本地状态在退出时也会消失。因此,将shell分配作为传递给xargs的子命令没有意义。
话虽如此,您实际上也不需要cut
。在本机bash中,不使用任何子进程或外部工具:
read color <color.txt
yellow=${color:1}
(1
是 cut 命令中的 2
列,因为在 bash PE 表达式中第一个字符从 0
开始。)
您需要使用:
yellow=$(cut -c 2- color.txt)
xargs
需要执行一个外部的shell二进制文件,而yellow={}
并不是真正的二进制文件。
cut
命令?使用read -r yellow < color.txt; yellow=${yellow:1}
有什么问题吗? - gniourf_gniourf