Ho una funzione bash (o alias), per esempio function install() {sudo apt-get install $@}
. Quando eseguo il comando install dicelab
, ciò che mi aspetto sarà effettivamente eseguito è sudo apt-get install dicelab
. Dove posso vedere cosa è stato effettivamente gestito dalla shell? Vorrei assicurarmi che i miei alias più complicati funzionino come previsto.
"$@"
, altrimenti gli argomenti con spazi bianchi o glob bruceranno.
$@
parte del tuo alias? Ricorda che gli alias in realtà non supportano argomenti, che si espanderanno ai parametri posizionali (se presenti) del contesto che chiama l'alias. Il solito modo di funzionaresomealias some args
funziona semplicemente espandendo l'alias e lasciando gli argomenti per seguirlo. Se vuoi davvero essere in grado di accedere agli argomenti, usa una funzione e cita il"$@"