GNU/Linux >> Belajar Linux >  >> Linux

Shell Script Wrapper Untuk Mencegah Menjalankan Perintah Tanpa Argumen?

Ada program yang saya gunakan, katakan xyz , yang memiliki efek yang tidak diinginkan jika saya menjalankan perintah tanpa argumen. Jadi saya ingin mencegah diri saya menjalankan xyz secara tidak sengaja perintah tanpa argumen tetapi biarkan berjalan dengan argumen.

Bagaimana saya bisa menulis skrip shell sehingga saat memanggil xyz tanpa argumen itu akan mencetak pesan kesalahan dan sebaliknya meneruskan setiap dan semua argumen ke xyz program?

Jawaban yang Diterima:

Anda dapat memeriksa variabel khusus $#:

if [ $# -eq 0 ]; then
  echo "No arguments provided!"
  exit 1
fi
/usr/bin/xyz "[email protected]"

Kemudian, tambahkan alias ke ~/.bashrc . Anda;

alias xyz="/path/to/script.sh"

Sekarang, setiap kali Anda menjalankan xyz , alias akan diluncurkan sebagai gantinya. Ini akan memanggil skrip yang memeriksa apakah Anda memiliki argumen dan hanya meluncurkan xyz . yang sebenarnya perintah jika Anda melakukannya. Jelas, ubah /usr/bin/xyz ke apa pun jalur lengkap perintahnya.


Linux
  1. Menjalankan Script Dengan “. ” Dan Dengan “sumber”?

  2. Lewati Argumen Baris Perintah ke Skrip Bash?

  3. Bagaimana Menangani Switch Dalam Script Shell?

  1. Ubah direktori kerja di shell dengan skrip python

  2. Menjalankan skrip shell secara paralel

  3. Bagaimana cara menyimpan perintah dalam variabel dalam skrip Shell?

  1. Direktori perubahan skrip Shell dengan variabel

  2. Otomatisasi mysql_secure_installation dengan perintah gema melalui skrip shell

  3. Membuat template dengan Linux dalam Shell Script?