Я набрал set -x
в терминале.
Теперь терминал продолжает печатать последнюю команду, запущенную поверх моего вывода, поэтому команда
~]$echo "this is what I see"
возвращается
+ echo 'this is what I see'
this is what I see
Там нет справочной страницы для set
, как мне set -x
выключить?
set
этоbuiltin
команда оболочки (по крайней мере, в bash она есть), поэтому документация находится на странице руководства bash. Ищите справочную страницу,/^ *SHELL BUILTIN COMMANDS
чтобы прочитать все оset
и ее друзья!man
страницаset
! Это часть руководства для программистов POSIX ... Вы действительно должны получить эту серию ... пожалуйста?help set
.Ответы:
Используйте
set +x
. Больше информации:Поскольку
set
это встроенная оболочка, она описана в документации вашей оболочки.Помните, что в некоторых системах есть справочные страницы для встроенных команд оболочки, но эти справочные страницы верны, только если вы используете оболочку по умолчанию. В Linux у вас могут быть справочные страницы, на которых представлены команды POSIX, которые появятся для встроенных команд оболочки, потому что нет никакой справочной страницы автономной утилиты для их теневого копирования; эти справочные страницы являются правильными для всех оболочек в стиле Борна (dash, bash, * ksh и даже zsh), но, как правило, неполными.
См. Раздел « Чтение и поиск в длинных страницах руководства», где приведены советы по поиску встроенной страницы руководства для длинной оболочки.
В этом случае ответ одинаков для всех оболочек в стиле Борна. Если включает опцию, выключает ее. Таким образом, отключает следы. Последняя читаемая трассировка неизбежна (кроме как при выходе из оболочки - иногда вы можете использовать подоболочку ).
set -LETTER
set +LETTER
set +x
set +x
(set -x; command to trace; other command to trace); command that is not traced
источник
{ set +x ;} 2> /dev/null
скрываетset +x
след (не будет работать в оболочке Bourne все же). Некоторые снаряды все еще выводят+ 2> /dev/null
хотя.Вы можете остановить режим отладки с помощью
set +x
. Смотрите пример страницыисточник
Вы включили режим отладки, вам нужно его отключить.
Форма выписки
help set
:Так типа
set +x
источник
Вы не можете найти справочную страницу только на
set
, потому что, как вы видите ниже:set
это специальная встроенная оболочка. Хотя это задокументировано на странице руководства вашей оболочки, предполагая bash, вы также можете получить конкретную документацию сСтраница справочника по bash или sh хороша для чтения, но немного долго разбираться. Эффективная информация, которую вам нужно было отменить,
-x
находится в концеExit Status:
и гласит:источник
help set
и прочитал его. Я пытался улучшить принятый ответ. unix.stackexchange.com/revisions/149137/4 Он был принят, но затем отклонен. Как и новостная статья, она начинается с самой важной информации и предполагает, что в любой момент читатель может остановиться, причем каждое следующее предложение и абзац менее важны, чем продолжение. Это мой SO стиль в Unix SE.