История изменений
Исправление 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 не нужен: некому вызывать автодополнение, а значит и не нужно загружать всю эту скриптовую бороду для поддержки автодополнения...