La shell espande la riga di comando contenente alias
comando e passa qualcosa come td=touch 2010-09-17_21-54.txt
al alias
comando. È necessario proteggere dall'espansione i caratteri speciali nella definizione dell'alias. Il modo più semplice è utilizzare le virgolette singole anziché le virgolette doppie:
alias td='touch `date "+%Y-%m-%d_%H-%M"`.txt'
Poi td
è un alias per touch `date "+%Y-%m-%d_%H-%M"`.txt
come desiderato.
Anche se qui non è un problema, consiglio di usare $(…)
invece di `…`
, in modo da evitare difficoltà con comandi complessi (le virgolette inverse hanno regole di quotazione arcane e non trasferibili, mentre la parentesi dollaro funziona in modo intuitivo):
alias td='touch $(date "+%Y-%m-%d_%H-%M").txt'