Могу ли я вызвать pushd / popd и предотвратить печать стека?

16

После вызова pushd/ popdin bash он распечатает текущий стек каталогов. Есть ли способ предотвратить такое поведение, чтобы оно действовало «вполне»? Этот вид шума в команде необычен в инструментах Unix.

Рори
источник

Ответы:

23

Я думаю, что такого рода «шум» не редкость, поэтому вы часто делаете это:

pushd > /dev/null
Приостановлено до дальнейшего уведомления.
источник
1
Вы также можете сделать функцию, которая в основном переопределит команду и вставит ее, .bashrcнапример:pushd() { builtin pushd $1 > /dev/null; }
violet
5
@jrod: Так как pushdcan может принимать несколько аргументов, вы можете захотеть, чтобы as pushd() { builtin pushd "$@" > /dev/null; }и кавычки обрабатывали имена каталогов с пробелами.
Приостановлено до дальнейшего уведомления.
2
Я бы сказал, что это необычно. Философия Linux заключается в том, чтобы на самом деле ничего не печатать, если все прошло хорошо, кроме вывода программы или встроенной программы, если таковая имеется. Например, cd, ls, aso.
vidstige
1
Некоторые люди делают pushd &> /dev/null. Я бы сказал, не делайте этого, потому что &означает перенаправление как stdout, так и stderr. Обычно вы хотите перенаправить только стандартный вывод.
Шиталь Шах
1
popdтакже генерирует консольный вывод, поэтому подумайте о том, чтобы заставить его замолчать таким же образом
Clare Macrae