我正在手动创建一个 useradd 版本,目前我想做的是获取此命令的输出:
head -$1 /folder/file | grep $2 | cut -d ',' -f4
并将其输入到此命令中:
echo "$1:x:50$int" >> /etc/group
其中 $1 是。基本上,第一个命令是提取公司名称,我想将其添加到组中。我已经设置了组 ID。
答案1
由于您要做的只是将第一个命令的输出放入第二个命令中,因此您可以通过将$()
第一个命令替换为第二个命令来实现。要将它们组合在一起,请将第一个命令放入您希望输出的第二个命令中,这样您就无需将第一个命令的输出分配到变量中,然后再放入第二个命令中。
第一个命令:
head -$1 /folder/file | grep $2 | cut -d ',' -f4
您知道返回的是您想要的。在第二个命令中,您知道您希望第一个命令的输出位于特定位置,例如$1
第二个命令中的位置。
第二条命令:
echo "$1:x:50$int" >> /etc/group
由于是$1
您想要在第二个命令中替换的内容,因此您可以$1
使用命令替换和第一个命令的命令替换,如下所示:
echo "$(head -$1 /folder/file | grep $2 | cut -d ',' -f4):x:50$int" >> /etc/group
希望这可以帮助!