На этот вопрос уже есть ответ здесь:
Я вручную создаю версию useradd, и на данный момент я пытаюсь получить вывод этой команды:
head -$1 /folder/file | grep $2 | cut -d ',' -f4
и ввести его в эту команду:
echo "$1:x:50$int" >> /etc/group
где $1. По сути, первая команда извлекает имя компании, и я хочу добавить ее в группу. У меня уже настроен идентификатор группы.
Так как все, что Вы пытаетесь сделать, должно получить вывод первой команды во вторую команду, можно сделать это с выполнением замены команды $()
из первой команды во вторую команду. Для объединения они вместе помещают первую команду во вторую команду, где Вы хотите, чтобы вывод был так, чтобы у Вас не было потребности присвоения вывода первой команды в переменную, затем помещая во вторую команду.
команда First:
head -$1 /folder/file | grep $2 | cut -d ',' -f4
, Что Вы знаете возвраты, что Вы хотите. В Вашей второй команде Вы знаете о желании вывода первой команды в определенном месте как то, где эти $1
расположен во второй команде.
команда Second:
echo "$1:x:50$int" >> /etc/group
С тех пор $1
то, что Вы хотите заменить во второй команде, Вы затем заменили бы $1
заменой команды и командой первой как это:
echo "$(head -$1 /folder/file | grep $2 | cut -d ',' -f4):x:50$int" >> /etc/group
Hope это помогает!