Lorsque j'exécute une commande qui a été alias pour une série de commandes, quelle valeur est renvoyée au shell? Aussi, en supposant que j'ai un alias défini comme ceci:
alias doit 'cd ~/some/dir; ./my_app; cd -'
Comment puis-je créer la valeur de retour qui ./my_app
renvoie la valeur de retour de la commande entière avec alias?
la source
cd
une fonction et l’affecter à l’appelant.La valeur renvoyée est l'état de sortie de la dernière commande exécutée.
Peut-être devriez-vous utiliser une fonction à la place:
De
man Bash
:Remarque: La
local
commande garantit qu'aucune variable globale (de même nom) n'est modifiée.la source
Les blocs de code du shell renvoient généralement la valeur de retour de la dernière commande du bloc. Dans votre cas, c’est ce
cd -
qui risque peu d’échouer.Je pense que vous pouvez obtenir ce que vous voulez en transformant cet alias en une fonction shell:
la source