Существует несколько вариантов команды Watch, некоторые, которые порождают оболочку для интерпретации командной строки, выполненной из конкатенации аргументов, переданных в ,
(с пространствами в пределах). В тех, которые вы можете сделать:
watch 'ls | shuf'
так же, как:
watch ls '|' shuf
(те часы
на самом деле выполняется: «/ bin / sh», [«SH», «-C», «LS | Шуф "]
И довольно опасны в том, что этот второй уровень интерпретации может открыть дверь к ошибкам и проблемам безопасности, когда не ожидаемое, PRECPS-NG часы могут избежать этого поведения с вариантом -x
) Отказ
И есть те, которые просто выполняют команду, имя которой приведено в первом аргументе со всеми аргументами в качестве аргументов. В тех:
watch sh -c 'ls | shuf'
awk '!/EOF/{print $1}' groups.txt|xargs -i groupadd {}
Если вы хотите, чтобы название группы было, например, IT (обратите внимание, что большинство unix/linux систем не допускают имена в верхнем регистре), просто измените утверждение следующим образом:
awk '!/EOF/{print $3}' groups.txt|xargs -i groupadd {}