Il y a un programme que j'utilise, disons xyz
, cela a des effets indésirables si j'exécute la commande nue sans arguments. Donc, je voudrais m'empêcher d'exécuter accidentellement le xyz
commande sans arguments mais autorisez-la à s'exécuter avec des arguments.
Comment puis-je écrire un script shell de sorte que lors de l'appel de xyz
sans arguments, il imprimera un message d'erreur et passera sinon tous les arguments au xyz
programme ?
Réponse acceptée :
Vous pouvez vérifier la variable spéciale $# :
if [ $# -eq 0 ]; then
echo "No arguments provided!"
exit 1
fi
/usr/bin/xyz "[email protected]"
Ensuite, ajoutez un alias à votre ~/.bashrc
;
alias xyz="/path/to/script.sh"
Maintenant, chaque fois que vous exécutez xyz
, l'alias sera lancé à la place. Cela appellera le script qui vérifie si vous avez des arguments et ne lance que le vrai xyz
commande si vous le faites. Évidemment, changez /usr/bin/xyz
quel que soit le chemin complet de la commande.