Dengan bash apakah ada cara untuk mendorong dan membuka direktori kerja saat ini? Saya mencoba menulis bash;cd dir; ./dostuff;exit;
tetapi direktori saat ini sekarang dir
.
66
Ada pushd
danpopd
Bash akan menyimpan sejarah direktori yang Anda kunjungi, Anda hanya perlu bertanya. Bash menyimpan histori dalam stack dan menggunakan perintah pushd dan popd untuk mengelola stack.
Contoh:
$ pwd; pushd /tmp; pwd; popd; pwd
/home/me
/tmp ~
/tmp
~
/home/me
pushd Saves the current directory on the top of the directory stack and then cd to dir. With no arguments, pushd exchanges the top two directories.
Memanggil
bash
memulai subkulit baru, yang memiliki input sendiri; tidak ada perintah lain yang akan berjalan sampai keluar. Mengitari perintah yang akan dijalankan dengan parens juga akan memulai subkulit baru, tetapi akan menjalankan perintah di dalamnya.sumber
Jika Anda tidak memerlukan banyak tingkatan riwayat direktori, Anda juga dapat melakukannya:
Dibandingkan dengan
pushd
/popd
, ini memiliki kelemahan bahwa jikacd foo
gagal, Anda berakhir di direktori yang salah dengannyacd -
.(Mungkin
cd -
skrip luar lebih berguna. "Mari kita kembali ke tempat saya dulu.")sumber
Saya menggunakan alias untuk melacak perubahan direktori saya sehingga untuk 'cd' di suatu tempat saya bisa kembali ke tempat saya menggunakan 'cd.', Atau kembali dua menggunakan 'cd ..', dll .;
sumber
..cd
cukup kuat? sepertinya itu hanya menghapus 10 item terakhir dari tumpukan.