如何将命令的输出添加到脚本中的组名?

如何将命令的输出添加到脚本中的组名?

我正在手动创建一个 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

希望这可以帮助!

相关内容