La question est vraiment simple. Je veux créer un alias, par ex. alias short="echo a$1"
. Quand je cours short k
j'obtiens la sortie a k
, mais ce que je veux réellement est ak
. Comment puis-je y parvenir?Créer un alias bash où la sortie est une concaténation sans espace
0
A
Répondre
3
Essayez
alias short="echo a$1b"
>> ab k
Son ne fonctionne pas comme vous le pensez. Le 1 $ devient résolu avant que l'ensemble à l'alias est terminé est terminée, ainsi donc:
alias -p
>> alias short='echo ab'
Mais plus l'image que vous confondez un alias
qui est un remplacement muet d'un jeton avec un autre et un function
qui vise à prendre les paramètres à la mode que vous essayez de faire ici. Ce que vous êtes probablement après est
function short(){ echo "a$1"; }
short k
>> ak
N.B. Si vous avez déjà défini un alias, n'oubliez pas de le unalias
car l'alias avec se lancer avant la fonction.
+0
Merci pour l'explication! Très utile! – thanasissdr
Je suggère d'utiliser une fonction. Voir: 'help function' – Cyrus