причина в том, что интерфейс уже используется, вы не можете создать
Потому что когда вы запускаете скрипт,родительская оболочка (та, из которой вы запускаете свои команды ), запускает не -интерактивную оболочку для запуска вашего скрипта с отключенным интерактивным флагом i
и включает только две опции
-h
для поиска и запоминания (хэш-команд )по мере их поиска для выполнения. -B
чтобы позволить оболочке выполнять расширение скобок Вы можете увидеть полный список set
опций, которые будут отображаться в выводе$-
-The Set Builtin
Другие параметры, доступные в интерактивной оболочке, -i
для указания запуска оболочки в интерактивном режиме
-m
для разрешения управления заданиями -H
для включения !
замены истории стилей Несколько параметров включены (или отключены )по умолчанию в зависимости от того, выполняется ли Bash интерактивно, в режиме POSIX или других условиях. Например, из выводаhelp set
:
-H Enable ! style history substitution. This flag is on
by default when the shell is interactive.
или:
-p Turned on whenever the real and effective user ids do not match.
Просто так случилось, что для интерактивного режима Bash, отличного от -POSIX -, включены следующие параметры:himBHs
(-i
для интерактивного режима, -s
для чтения команд из стандартного ввода, другие параметры перечислены в help set
).