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.