Kadang-kadang saya suka memiliki alias bash yang sangat khusus dan mungkin keybindings ketika saya masuk pada folder (bisa menjadi proyek di mana saya terbiasa mengetik banyak perintah dari CLI).
Mari kita anggap ketika saya memasukkan folder seperti "projectAlpha /" Saya mengharapkan beberapa alias kustom seperti:
alias doTaskX='./app arg1 arg2...|filter arg1 arg2...'
- ...
Lebih dari itu saya memikirkan:
- Tampilkan pesan bermanfaat yang menunjukkan alias dan perintah umum
- Menampilkan beberapa keybindings kustom umum untuk proyek saya
Tetapi segera setelah saya meninggalkan root proyek saya, pengaturan ini menjadi tidak tersedia.
Apa pendekatan terbaik untuk melakukannya hari ini?
Jawaban:
Bash memiliki variabel khusus
PROMPT_COMMAND
yang isinya dieksekusi setiap kali setelah perintah dieksekusi, sehingga Anda dapat mengaturnya sebagai berikut:Mulai sekarang setiap kali Anda akan berada di
/tmp
direktori aliasll
akan dibuat dan di semua direktori lain itu akan dihapus.Mungkin lebih praktis adalah mengumpulkan semua alias Anda dan hal-hal lain dalam satu fungsi (katakanlah
makealias
) dan semua unaliases dalam fungsi lainmakeunalias
yang dapat Anda jalankan tergantung pada kebutuhan Anda, sesuatu sepertiPerhatikan bahwa pengalihan stderr hadir hanya untuk mencegah beberapa berguna dalam peringatan kasus ini.
sumber