О выводе списка опций bash в `set`

причина в том, что интерфейс уже используется, вы не можете создать

2
28.01.2020, 09:45
2 ответа

Потому что когда вы запускаете скрипт,родительская оболочка (та, из которой вы запускаете свои команды ), запускает не -интерактивную оболочку для запуска вашего скрипта с отключенным интерактивным флагом iи включает только две опции

  • -hдля поиска и запоминания (хэш-команд )по мере их поиска для выполнения.
  • -Bчтобы позволить оболочке выполнять расширение скобок

Вы можете увидеть полный список setопций, которые будут отображаться в выводе$--The Set Builtin

Другие параметры, доступные в интерактивной оболочке, -iдля указания запуска оболочки в интерактивном режиме

  • -mдля разрешения управления заданиями
  • -Hдля включения !замены истории стилей
4
28.04.2021, 23:25

Несколько параметров включены (или отключены )по умолчанию в зависимости от того, выполняется ли 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).

3
28.04.2021, 23:25

Теги

Похожие вопросы