установить команду без аргументов

Я искал env для отображения всех переменных среды. Мне довелось выдать команду set, и она, похоже, «катает» скрипт на консоли. Почему это происходит?

Эта справочная страница , кажется, не объясняет это.

 If no options or arguments are supplied, set displays the names
 and values of all shell variables
4
задан 18 May 2016 в 00:06

2 ответа

Как Frank Schrijver объяснил в своем комментарии, удар, встроенный set, выведет все переменные оболочки (переменные, которые только "существуют" в том времени выполнения), и весь , оболочка функционирует также , снова функционирует инициализированная и существующая в том конкретном процессе оболочки.
Так, например, Вы будете видеть функции как

_tilde () 
{ 
   ...
}

, который является функцией, цель которой, обеспечивают заполнение клавишей Tab на ~ символ для Вашего строчного редактора удара.
действительно даже документация удара для set, видимый путем выполнения команды

man bash | less '+/^\s*set \[--'

не упоминает факт, это печатает все функции оболочки по умолчанию, но поскольку Вы обнаружили, и другие указали на него - это действительно печатает функции оболочки также.

1
ответ дан 18 May 2016 в 10:06

set оболочка встроенная команда. При издании этого на командной строке Вы видите все в своей текущей среде. Это будет включать любые функции, которые Вы загрузили. Обратите внимание, что большинство дистрибутивов будет включать по крайней мере несколько полезных функций в профили оболочки, и если у Вас будет установленное завершение удара, то у Вас будут ставриды их.

env двоичный файл. Это загружается и выполняется оболочкой, точно так же, как любая другая команда. Поэтому это только видит любые переменные среды, которые Вы экспортировали, который должен исключить любые функции из Вашей среды оболочки.

2
ответ дан 18 May 2016 в 10:06
  • 1
    @tatsu, Это возможно, так слишком много повреждено. Но если Вы удачливы, можно быть в состоянии восстановить ext4 файловую систему. Иначе можно обратиться к PhotoRec, который может распознать данные по диску и определить заголовки файлов нескольких типов общего файла. Другими словами, PhotoRec может восстановить файлы, даже если файловая система повреждена вне восстановления. – sudodus 2 November 2017 в 19:57

Другие вопросы по тегам:

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