Bash - командный интерпретатор GNU Bourne

       

СРЕДА ВЫПОЛНЕНИЯ КОМАНД


У командного интерпретатора есть среда выполнения, содержащая следующие компоненты:

  • открытые файлы, унаследованные командным интерпретатором при вызове, с учетом изменений, вызванных перенаправлениями, переданными встроенной команде
  • текущий рабочий каталог, установленный командами , или , или унаследованный командным интерпретатором при вызове
  • маска режима создания файла, установленная с помощью команды или унаследованная от родительского процесса
  • текущие обработчики сигналов, установленные с помощью
  • параметры командного интерпретатора, установленные путем присваивания переменным или унаследованные из среды родительского процесса
  • функции командного интерпретатора, заданные в ходе выполнения или унаследованные из среды родительского процесса
  • опции, установленные при вызове (как стандартные, так и заданные явно в командной строке) или установленные с помощью комнады
  • опции, установленные с помощью команды
  • псевдонимы, заданные с помощью команды
  • идентификаторы различных процессов, в том числе, для фоновых заданий, значение параметра $$ и значение параметра $PPID
  • Когда необходимо выполнить команду, не являющуюся встроенной или функцией командного интерпретатора, она вызывается в отдельной среде выполнения, состоящей из указанных ниже компонентов. Если не указано иначе, все значения наследуются от командного интерпретатора.

  • открытые файлы командного интерпретатора плюс любые изменения и дополнения, заданные для команды перенаправлениями
  • текущий рабочий каталог
  • маска режима создания файлов
  • переменные командного интерпретатора, помеченные как экспортированные, а также переменные, экспортированные для команды и переданные в среде
  • наследуются установленные в родительском командном интерпретаторе обработчики сигналов, а сигналы, в нем игнорировавшиеся, также игнорируются.
  • Команда, вызванная в этой отдельной среде, не может повлиять на среду выполнения родительского командного интерпретатора.

    Команды, результаты которых необходимо подставить, и асинхронные команды вызываются в средах порожденных командных интерпретаторов, которые совпадают со средой родительского, но обработчки сигналов устанавливаются такие, как были унаследованы родительским командным интерпретатором при вызове. Встроенные команды, вызываемые как часть конвейера, также выполняются в среде порожденного командного интерпретатора. Изменения в среде порожденного командного интерпретатора не затрагивают среду выполнения родительского.



    Содержание раздела