Saya ingin tahu perbedaan antara alias dan fungsi di bash shell - dan kapan harus menggunakan yang mana.
Tampak jelas bahwa karena fungsi dapat mengambil argumen, mereka jauh lebih kuat - karena saya bekerja terutama di jalan dengan netbook dan ingin menghemat energi dan kekuatan pemrosesan, saya terutama ingin tahu lebih banyak tentang perbedaan kinerja dari dua cara ini untuk memperluas fungsi bash adalah.
Jawaban:
Pikirkan alias sebagai nama panggilan. Anda mungkin memiliki perintah yang banyak Anda lakukan tetapi ingin dipersingkat.
Sebagai contoh, Anda sering ingin langsung masuk ke desktop di commandline, jadi Anda bisa melakukan ini
Mulai saat itu Anda cukup mengetik
di terminal dan itu akan melakukan
cd ~/Desktop
untuk Anda.Fungsinya mengandung logika. Dalam suatu fungsi, Anda dapat membuat panggilan ke beberapa program berbeda. Inilah fungsi gema sederhana
Meskipun mungkin tampak mirip dengan alias saat Anda memanggilnya
E () Anda dapat memiliki banyak hal berbeda terjadi. Di atas adalah contoh sederhana.
Alias harus disediakan untuk kasus penggunaan sederhana. Contoh pribadi - Saya telah mengganti
rm
perintah saya seperti iniSetiap kali saya melakukan rm, ia akan mengirimnya ke tempat sampah alih-alih menghapusnya dari disk. Ini memenuhi kecanggungan saya di terminal di mana saya mungkin (kadang-kadang) secara tidak sengaja menghapus file penting.
Fungsi , yang perlu Anda ingat, adalah bagian dari logika. Anda tidak akan menggunakan fungsi yang berdiri sendiri, biasanya. Itu akan menjadi bagian dari skrip yang lebih besar. Bayangkan sebuah skrip yang mengambil semua file Anda dan mengganti namanya menjadi versi latin babi mereka. Abaikan bahwa ada berbagai cara untuk melakukannya.
Tapi yang bisa Anda lakukan adalah mengulangi setiap file dalam direktori dan meneruskan filepath ke fungsi RenameAsPigLatin Anda. Fungsi RenameAsPigLatin mungkin memiliki logika tambahan di sana yang melibatkan angka, di mana Anda memutuskan bahwa file yang diakhiri dengan angka tidak boleh diganti namanya.
Segera Anda dapat melihat manfaat memilikinya sebagai suatu fungsi. Fungsi ini dapat fokus pada penggantian nama dengan aturan aneh Anda sementara skrip lainnya dapat melintasi berbagai direktori yang diperlukan.
sumber
Alias adalah pintasan sederhana yang digunakan di konsol untuk menghindari mengetik perintah panjang atau selalu mengulangi opsi yang sama.
Contoh klasik adalah:
Alias hanya berfungsi di konsol interaktif, mereka tidak dimaksudkan untuk digunakan dalam skrip.
Fungsi dapat digunakan dalam skrip atau di konsol, tetapi lebih sering digunakan dalam skrip.
Berlawanan dengan alias, yang baru saja digantikan oleh nilainya, suatu fungsi akan ditafsirkan oleh bash shell.
Fungsi jauh lebih kuat daripada alias, mereka dapat digunakan untuk membangun program yang sangat kompleks.
sumber