Используйте
$ grep '[[:graph:]]' file
для получить все строки с видимыми символами в файле
.
Или
$ grep -v '^[^[:graph:]]*$' file
, чтобы отфильтровать все строки, в которых есть только невидимые символы.
Команду sudo
можно указать для запуска от имени конкретного пользователя:
-u user, --user=user
Run the command as a user other than the default target user
(usually root). The user may be either a user name or a
numeric user ID (UID) prefixed with the ‘#’ character (e.g.
#0 for UID 0).
Итак, внутри сценария вы можете использовать sudo -u USERNAME
для запуска двух служб:
sudo -u foo command1
sudo -u foo command2
Однако это означает, что сам скрипт нужно будет запускать от имени пользователя root. В противном случае sudo
запросит пароль пользователя foo
.
sudo -u username -s -- "program1 && program2"
или
sudo -u username bash -c 'program1 && program2'