Для разнообразия вот решение с многострочным скриптом вместо sed
:
while IFS='' read -r line
do
line="${line%/}"
echo "${line#??}"
done
su - username
, запускает оболочку входа username
в качестве интерактивной оболочки.
su username command arguments
запускает аргументы команды
в неинтерактивном режиме под учетной записью имя пользователя
.
Вы вводите команду su lfs - -c "source ~ / .bash_profile"
означает запускать - -c "source ~ / .bash_profile"
от имени пользователя lfs
в неинтерактивном режиме . Теперь оболочка видит параметр -
и говорит, что я должен работать как интерактивная оболочка входа, и пытается инициализировать терминал, но su
отключил дочерний процесс от управляющего терминала. .
Вкратце: -
либо неуместны, либо ошибочны.
Для более подробного обсуждения см. Практически тот же вопрос о сбое сервера.