Le shell développe la ligne de commande contenant le alias
commande et passe quelque chose comme td=touch 2010-09-17_21-54.txt
au alias
commande. Vous devez protéger les caractères spéciaux de la définition d'alias contre l'expansion. Le moyen le plus simple consiste à utiliser des guillemets simples au lieu de guillemets doubles :
alias td='touch `date "+%Y-%m-%d_%H-%M"`.txt'
Alors td
est un alias pour touch `date "+%Y-%m-%d_%H-%M"`.txt
comme vous le souhaitez.
Bien que ce ne soit pas un problème ici, je recommande d'utiliser $(…)
au lieu de `…`
, afin d'éviter les difficultés avec des commandes complexes (les guillemets ont des règles de guillemets obscures et non portables, alors que dollar-parenthèse fonctionne intuitivement) :
alias td='touch $(date "+%Y-%m-%d_%H-%M").txt'