Za każdym razem, gdy używam pushd lub popd, wypisuje stos na standardowe wyjście. Jak tego nie robić?
Nie chcę tego robić za pushd > /dev/null
każdym razem, ponieważ mam wiele skryptów wywołujących się nawzajem.
Może wystarczy miła zmiana, ale będę musiał nadpisać te wbudowane tylko w moich skryptach, a następnie przywrócić poprawne zachowanie.
pushd
ipopd
zcd
acd ~-
.~-
jest rozwinięciem tyldy ustawionym na $ OLDPWD .cd -
również działa. Nie jestem pewien, która wersja jest bardziej kompatybilna z szeroką gamą systemów.cd some/path
i acd -
lubcd "${return_wd}"
coś podobnego, rozważ zgrupowanie poleceń między nimi w funkcję i użyj podpowłoki, takiej jak(cd some/path; your_commands_here)
. Nawigacja po katalogu z powrotem do starego PWD jest domniemana na końcu podpowłoki. Działa również w przypadku zastępowania poleceń.Odpowiedzi:
Możesz dodać
pushd () { command pushd "$@" > /dev/null } popd () { command popd "$@" > /dev/null }
u góry każdego skryptu. Jest to prawdopodobnie minimalna ilość pracy potrzebna do rozwiązania Twojego problemu.
źródło
&>
zamiast>
|| exit $?
jest odpowiednikiem just|| exit
. To samo dotyczyreturn
.-n
i całą rodzinę argumentów-N
i+N
(dla liczby całkowitejN
).W swoim pliku .profile (jakkolwiek to się nazywa w twoim systemie) dodaj:
pushd () { command pushd "$@" > /dev/null } popd () { command popd "$@" > /dev/null } export pushd popd
źródło
W zsh możesz
setopt PUSHDSILENT
. Umieść to w swoim~/.zshrc
.źródło
popd -q
(cicho).-q
opcjizsh
.