Jawaban ini memberi saya cd -
singkatan untuk mengubah ke direktori saya sebelumnya di Bash. Itu memang memiliki masalah besar: ia mencetak direktori yang diubahnya, membuang ruang layar saya, karena direktori itu kemudian diulang dalam prompt di baris berikutnya.
Saya tahu saya bisa melakukannya cd $OLDPWD
, juga disebutkan dalam jawaban itu, dan cd - >/dev/null
tetapi itu jauh lebih mengetik.
Di bash
halaman manual tertulis:
... atau jika - adalah argumen pertama, dan perubahan direktori berhasil, nama path absolut dari direktori kerja baru ditulis ke output standar.
Bagaimana saya bisa membuat -
tidak menjadi argumen pertama? Dengan menggunakan salah satu cd
argumen opsional? Adakah cara lain untuk menekan gema atau meminimalkan pengetikan tanpa perlu mendefinisikan fungsi / alias pada setiap mesin yang bekerja dengan saya?
sumber
Jawaban:
cd
hanya mempertimbangkan argumen pertama, mengabaikan yang lain. Tidak ada opsi yang memengaruhi gema dari pathname sebelumnya (mungkin yang didokumentasikan-@
memang memiliki efek itu, tetapi itu adalah opsi yang tidak valid pada sistem saya).Jika Anda tidak ingin menggunakan alias / fungsi, yang dapat memberi Anda lebih sedikit karakter untuk diketik daripada
cd -
, atau dialihkan ke/dev/null
, saran saya adalah mulai menggunakan ekspansi tilde khusus dibash
:Dari
bash
halaman manual:Ini tampaknya merupakan area lain di
bash
mana beberapa makna khusus diciptakan. Ekspansi Tilde biasanya bekerja pada $ DIRSTACK, dimanipulasi / diselidiki olehpushd
,,popd
dandirs
, dapat digunakan dalam perintah lain juga (cp ~-/somefile .
) dan jika Anda telah menggunakannyapushd
Anda dapat menggunakan~N
(di mana N adalah sejumlah level yang didorong kembali) untuk sampai ke direktori ini (untukcd
atau perintah lainnya).BTW jika Anda memiliki akun di beberapa mesin dan dengan asumsi Anda menggunakan ssh untuk login ke mereka dari satu tempat, Anda harus mempertimbangkan untuk menambahkan ke
~/.bashrc
:dan kemudian memiliki skrip di mesin kerja Anda yang digunakan
scp
untuk "mendorong"bash_common
ke masing-masing mesin tersebut. Dengan begitu Anda dapat menambah dan berbagi fungsionalitas umum melalui beberapa mesin dengan overhead yang minimal.sumber