Является ли эта оболочка интерактивной?
Чтобы определить в скрипте запуска, работает ли 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