Spec-Zone.ru › Bash

Является ли эта оболочка интерактивной?

Чтобы определить в скрипте запуска, работает ли Bash интерактивно или нет, проверьте значение специального параметра ‘-’. Он содержит i , когда оболочка интерактивна. Например:

case "$-" in
*i*)	echo This shell is interactive ;;
*)	echo This shell is not interactive ;;
esac

В качестве альтернативы, скрипты запуска могут проверить переменную PS1; она не задана в неинтерактивных оболочках и задана в интерактивных оболочках. Таким образом:

if [ -z "$PS1" ]; then
        echo This shell is not interactive
else
        echo This shell is interactive
fi

Copyright © 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc.
Licensed under the GNU Free Documentation License.
https://www.gnu.org/software/bash/manual/html_node/Is-this-Shell-Interactive_003f.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API