Bagaimana saya memeriksa jumlah argumen yang benar (satu argumen). Jika seseorang mencoba menjalankan skrip tanpa memberikan jumlah argumen yang benar, dan memeriksa untuk memastikan argumen baris perintah benar-benar ada dan merupakan direktori.
147
shell
itu artinya/bin/sh
Jawaban:
Terjemahan: Jika jumlah argumen tidak (secara numerik) sama dengan 1 atau argumen pertama bukan direktori, output penggunaan ke stderr dan keluar dengan kode status kegagalan.
Pelaporan kesalahan yang lebih ramah:
sumber
if [ "$#" -ne 1 ] ; then
atauif ! [ -d "$1" ]; then
untuk melihat klausa mana yang menyebabkan masalah.-d
yang bersangkutan. Jika Anda ingin menambahkan cek terpisah, Anda dapat menggunakannya-e
untuk memeriksa keberadaan.-e
mengembalikan true jika file ada. Saya menambahkan lebih banyak kesalahan pelaporan yang ramah pada jawabannya.cat script.sh
jalankan seperti di bawah ini -
Output akan seperti -
sumber
Anda dapat memeriksa jumlah total argumen yang diteruskan dalam baris perintah dengan "
$#
" Katakan untuk Contoh nama skrip shell sayahello.sh
Output akan menjadi
hello-world
sumber