Saya tahu bahwa skrip shell hanya menjalankan perintah seolah-olah dieksekusi pada command prompt. Saya ingin dapat menjalankan skrip shell seolah-olah itu adalah fungsi… Yaitu, mengambil nilai input atau string ke dalam skrip. Bagaimana pendekatan saya untuk melakukan ini?
Jawaban yang Diterima:
Perintah shell dan argumen apa pun untuk perintah itu muncul sebagai bernomor variabel shell:$0 memiliki nilai string dari perintah itu sendiri, seperti script , ./script , /home/user/bin/script atau terserah. Setiap argumen muncul sebagai "$1" , "$2" , "$3" dan seterusnya. Hitungan argumen ada di variabel shell "$#" .
Cara umum untuk menangani ini melibatkan perintah shell getopts dan shift . getopts sangat mirip dengan C getopt() fungsi perpustakaan. shift memindahkan nilai $2 ke $1 , $3 ke $2 , dan seterusnya; $# akan berkurang. Kode akhirnya melihat nilai "$1" , melakukan sesuatu menggunakan case …esac untuk memutuskan suatu tindakan, dan kemudian melakukan shift untuk memindahkan $1 ke argumen berikutnya. Itu hanya harus memeriksa $1 , dan mungkin $# .