Dalam bash saya bisa pergi ke direktori home saya dengan cd ~
dan sebenarnya merujuk ke direktori home saya dengan perintah apa saja ~
.
Bisakah saya membuat "alias direktori" baru (kustom) untuk merujuk ke direktori lain? Contoh hipotesis:
make_alias "~~" /mnt/photon/work/foo_project/
cp ~/home.png ~~/set_8/home_4.png
Bagaimana itu bisa dilakukan, jika ya? Jika tidak bisa, apakah dengan desain dan mengapa demikian?
Senang memiliki: Di mana dan bagaimana ~
diatur dan diikat ke "~" ini?
n=/mnt/photon/work/foo_project
dan kemudiancp foo ~n/bar
. (Catatan untuk OP: Juga terbatas pada zsh).@
atau_
), yang tidak mungkin dilakukan di bash, sementara yang~~
pasti (hacky, tapi mungkin). Juga, itu tidak menjawab bagaimana remapping ini dilakukan.Jawaban:
Tilde bukan alias, itu bagian dari ekspansi shell bash (sama seperti
*.txt
atau$((1 + 2))
).Ekspansi Bash tilde mendukung awalan tilde berikut:
dirs
menggunakan tumpukan direktori. Anda dapat menggunakanpushd
untuk menambahkan direktori ke dalamnya.Untuk menjawab pertanyaan spesifik Anda
~~
, ya, mungkin untuk memetakan direktori ke sana. Cukup buat pengguna yang dipanggil~
dan tetapkan/mnt/photon/work/foo_project/
sebagai direktori home-nya:Tentu saja, pendekatan yang lebih "waras" hanyalah mendefinisikan variabel shell yang menunjuk ke direktori Anda di
~/.bashrc
dalam perintah Andayang dapat diakses melalui
$foo
, seperti biasa.sumber