6 votes

Est-il possible de modifier bash pour exécuter une commande à travers une autre (disons un script python)?

Je me demandais s'il était possible de modifier bash de telle sorte que lorsque je tape

commande --arg1

ce qui se passe réellement est

~/prerun.py commande --arg1

(prerun.py se chargerait de démarrer la commande --arg1 elle-même)

Merci!

7voto

Définissez un alias avec le alias intégré :

alias commande='~/prerun.py commande'

6voto

UtahJarhead Points 1947
command () {
    prerun.py some\_command "$@"
}

Ensuite, lorsque vous lancez command --arg1, il passera tout au script prerun.py.

0 votes

Notez qu'il est recommandé d'utiliser une fonction plutôt qu'un alias à des fins d'extensibilité. Passer des variables et autres choses similaires est bien plus capable. Elles peuvent être sur plusieurs lignes et vous permettent d'utiliser des variables en interne.

2 votes

Assurez-vous de citer "$@" afin que tous les arguments contenant des espaces blancs soient protégés

0 votes

10 ans plus tard, glenn votre commentaire est correct. Edité pour ajouter votre suggestion!

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X