Saya memiliki ~/bin
direktori (yang ada di saya PATH
) di mana saya menyimpan banyak skrip 1 atau 2 baris kecil. Beberapa dari mereka hanya cd
masuk ke direktori dan menjalankan perintah pada file, suka vim
atau sesuatu. Tapi saya juga punya banyak alias di .bash_aliases
file saya yang melayani tujuan yang sama.
Bagaimana Anda memutuskan antara menulis skrip bash kecil dan menulis alias? Apakah penting di mana pun Anda pergi?
Jawaban:
Jika saya cukup sering menggunakannya untuk memastikan biaya overhead agar mereka dimuat di setiap shell. Saya akan menuliskannya sebagai fungsi.
Jika mereka spesifik proyek, saya dapat menuliskannya sebagai satu set alias dan fungsi yang dapat bersumber ke shell ketika saya sedang mengerjakan proyek itu.
Hanya jika mereka bekerja dengan cara yang berdiri sendiri melakukan apa saja menjadi skrip di ~ / bin saya. Ada beberapa liner yang pada dasarnya alias, tetapi ini untuk menjalankan dari tempat selain shell (jalankan prompt di program lain misalnya). Sebagian besar mereka harus skrip yang cukup besar.
sumber
Secara umum fungsi skrip shell lebih fleksibel daripada alias dan Anda harus lebih menyukainya. Misalnya dalam alias Anda tidak dapat menguji apakah jumlah argumen yang diberikan atau jenisnya yang diharapkan. Saya setuju dengan Caleb bahwa alias cocok dengan kalimat sederhana, misalnya
alias cp='cp -i'
sumber
Untuk sesuatu yang lebih rumit sebagai pengganti string dari satu perintah, skrip mungkin lebih tepat. Juga, apa pun yang akan digunakan oleh skrip lain atau mungkin digunakan oleh orang lain mungkin lebih baik sebagai skrip. Walaupun menjalankan program dari direktori bin orang lain bukanlah ide bagus, itu lebih baik daripada mencari file alias individu seseorang.
Alias adalah yang terbaik untuk mempersonalisasikan lingkungan interaktif Anda. Misalnya,,
e='emacs -nw'
dan hal semacam itu.sumber
Saya menggunakan pendekatan sesederhana mungkin.
Terutama, jika perintah tidak memiliki parameter, saya biasanya menggunakan alias.
Jika perintah memiliki parameter saya menggunakan fungsi.
mis. membuat dan melakukan cd ke direktori:
Saya juga menggunakan fungsi jika perintah menggunakan fungsi terinstal yang memiliki params
misalnya, menambahkan -v ke git:
sumber