Как мне создать цикл из списка, полученного из предыдущей команды?

Убедитесь, что это устройство не используется другим экраном.

Этого можно добиться с помощью https://superuser.com/questions/97844/how-can -i-determine-what-process-open-in-in-linux-file-in-inux :

sudo lsof /dev/ttyS0

И затем убить этот процесс, если это так.

По какой-то причине при этом условии sudo screen все еще может получить доступ к устройству, но тогда в этом соединении будут пропущены символы, которые используются другим экраном.

Убедитесь, что у пользователя есть разрешение на чтение и запись в файл.

Например. в Ubuntu вы хотите добавить пользователя в группу dialout: https://askubuntu.com/a/133244/52975

0
07.04.2017, 09:50
2 ответа

используйте функцию printf в awk, а затем подключитесь к ksh.

ls -lrth /apps/wldomains | awk '$1 ~/^d/ { printf "sesu %s\n", $3 }'

должен сгенерировать

sesu userid1
sesu userid2
sesu userid3
sesu userid4

просто добавьте | ksh когда OK

ls -lrth /apps/wldomains | awk '$1 ~/^d/ { printf "sesu %s\n", $3 }'| ksh
  • я также сжал grep | awk в awk
2
28.01.2020, 02:25

Без разбора ls :

find /apps/wldomains -type d -exec stat -c %U {} \; | sort -u | xargs -n 1 sesu -
  • find /apps/wldomains -type d найдет все каталоги в /apps/wldomains (включая сам /apps/wldomains).

  • stat -c %U выведет имя пользователя владельца найденного каталога.

  • sort -u возьмет эти имена пользователей и отсортирует их в список различных имен пользователей.

  • xargs -n 1 sesu - возьмет этот список и выполнит sesu - для каждого из них.

В Solaris установите пакет GNU coreutils и используйте gstat вместо stat.

1
28.01.2020, 02:25

Теги

Похожие вопросы