GNU/Linux >> Tutoriels Linux >  >> Linux

Shell Script Wrapper pour empêcher l'exécution de la commande sans arguments ?

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.


Linux
  1. Passer les arguments de la ligne de commande au script Bash ?

  2. Comment gérer les commutateurs dans un script shell ?

  3. Le script shell se bloque sur la commande de messagerie ?

  4. Exécuter le script avec des arguments en tant qu'utilisateur ?

  5. Changer le répertoire de travail dans le shell avec un script python

Comment exécuter une commande / un script Linux Shell en arrière-plan

Comment exécuter une commande Shell avec Python

Comment stocker une commande Linux en tant que variable dans un script shell

Comment exécuter une commande dans un script shell ?

Comment lire les arguments de ligne de commande dans les scripts shell ?

Créer des modèles avec Linux dans un script Shell ?