LINUX.ORG.RU

История изменений

Исправление bormant, (текущая версия) :

почему в скриптах $PS1 пустая

На всякий случай уточню, если из сказанного выше еще не стало ясно:
test -n "${PS1-}" — это по факту проверка на интерактивность текущей оболочки, основанная на сильно косвенных признаках (отсутствии значения для приглашения ввода (prompt) в $PS1) и, к слову, не очень-то совместимая с другими sh-совместимыми оболочками.
В неинтерактивной оболочке bash-completion не нужен: некому вызывать автодополнение, а значит и не нужно загружать всю эту скриптовую бороду для поддержки автодополнения... Именно эту задачу и решает ... -a -n "${PS1-}" ...

Исправление bormant, :

почему в скриптах $PS1 пустая

На всякий случай уточню, если из сказанного выше еще не стало ясно:
test -n "${PS1-}" — это по факту проверка на интерактивность текущей оболочки, основанная на сильно косвенных признаках (отсутствии значения для приглашения ввода (prompt) в $PS1) и, к слову, не очень-то совместимая с другими sh-совместимыми оболочками. В неинтерактивной оболочке bash-completion не нужен: некому вызывать автодополнение, а значит и не нужно загружать всю эту скриптовую бороду для поддержки автодополнения...

Исходная версия bormant, :

На всякий случай уточню, если из сказанного выше еще не стало ясно:
test -n "${PS1-}" — это по факту проверка на интерактивность текущей оболочки, основанная на сильно косвенных признаках (отсутствии значения для приглашения ввода (prompt) в $PS1) и, к слову, не очень-то совместимая с другими sh-совместимыми оболочками. В неинтерактивной оболочке bash-completion не нужен: некому вызывать автодополнение, а значит и не нужно загружать всю эту скриптовую бороду для поддержки автодополнения...