Каждый раз, когда я использую pushd или popd, он выводит стек на стандартный вывод. Как этого не сделать?
Я не хочу делать это pushd > /dev/null
каждый раз, потому что у меня много скриптов, вызывающих друг друга.
Может быть, хорошее переопределение сделает это, но мне нужно будет переопределить эти встроенные функции только в моих скриптах, а затем восстановить правильное поведение.
pushd
иpopd
с помощьюcd
иcd ~-
.~-
- расширение тильды, которое устанавливается в $ OLDPWD .cd -
тоже работает. Не уверен, какая версия более совместима с широким спектром систем.cd some/path
и acd -
илиcd "${return_wd}"
или чем-то подобным, подумайте о том, чтобы сгруппировать команды между ними в функцию и использовать подоболочку, например(cd some/path; your_commands_here)
. Навигация по каталогам обратно к старому PWD подразумевается в конце подоболочки. Также работает для подстановки команд.Ответы:
Вы могли бы добавить
pushd () { command pushd "$@" > /dev/null } popd () { command popd "$@" > /dev/null }
вверху каждого скрипта. Вероятно, это минимальный объем работы, который потребуется для решения вашей проблемы.
источник
&>
вместо>
|| exit $?
эквивалентно просто|| exit
. То же самое дляreturn
.-n
и целое семейство аргументов-N
и+N
(для целого числаN
).В вашем файле .profile (как бы он ни назывался в вашей системе) добавьте:
pushd () { command pushd "$@" > /dev/null } popd () { command popd "$@" > /dev/null } export pushd popd
источник
В zsh можно
setopt PUSHDSILENT
. Поместите это в свой~/.zshrc
.источник
popd -q
(тихо).-q
опцииzsh
.