su - username
, запускает оболочку входа username
в качестве интерактивной оболочки.
su username command arguments
запускает аргументы команды
в неинтерактивном режиме под учетной записью имя пользователя
.
Вы вводите команду su lfs - -c "source ~ / .bash_profile"
означает запускать - -c "source ~ / .bash_profile"
от имени пользователя lfs
в неинтерактивном режиме . Теперь оболочка видит параметр -
и говорит, что я должен работать как интерактивная оболочка входа, и пытается инициализировать терминал, но su
отключил дочерний процесс от управляющего терминала. .
Вкратце: -
либо неуместны, либо ошибочны.
Для более подробного обсуждения см. Практически тот же вопрос о сбое сервера.
При вводе
utility1 && utility2
это означает, что utility2
не запустится, пока utility1
не завершится с нулевым статусом выхода (, но не иначе ).
Аналогично,
utility1 || utility2
означает, что utility2
будет работать, если utility1
завершится с не -нулевым статусом выхода (, но не иначе ).
С
utility1 & utility2 &
то же, что и
utility1 &
utility2 &
вы запускаете обе утилиты как фоновые процессы (обе будут запускаться независимо друг от друга )и с
utility1 & utility2
, что совпадает с
utility1 &
utility2
вы запускаете utility1
как фоновый процесс, а затем utility2
как процесс переднего плана.
Это значит, случайно, что заголовок вашего вопроса угадан:
cmus & projectM-pulseaudio
или, возможно,
projectM-pulseaudio & cmus
(но я не знаю, что делают эти программы, поэтому я не уверен, имеет ли смысл запускать одну, другую или обе в качестве фонового процесса ).