Come usare - come alias?


11

Quando stavo usando openSUSE 11.3, è arrivato con diversi alias già impostati. Due che ho usato molto erano +per pushd .e -per popd. Ora su Debian, non riesco a capire come creare il secondo. alias -=popdprova a leggere -=come opzione di comando all'alias. Ho provato a mettere le virgolette (sia singole che doppie) attorno, e precedendole con una barra rovesciata, ma continuo a ricevere messaggi di errore. Eventuali suggerimenti?

Grazie

Risposte:


12

prova questo:

alias -- -=popd

ha funzionato almeno per me:

usr@srv % alias -- -=echo
usr@srv % - test
test

Grazie, funziona perfettamente. Cosa fa --esattamente?
Lupo,

4
@Wolf: per la maggior parte dei comandi, --segna la fine delle opzioni; tutto dopo sono argomenti. Ad esempio, logger foo -x barregistrerebbe "foo bar" e lo tratterà -xcome un'opzione, mentre logger -- foo -x barlo tratterà come una parola normale nel messaggio "foo -x bar".
user1686

1
La --indica che non seguono più opzioni sulla riga di comando, di seguito -'s non vengano interpretati come opzioni. Quindi questo ti permette di catfile che iniziano con un -;-)
binfalse

@grawity e @binfalse: grazie per la spiegazione, è molto utile! Molto bene a sapersi.
Lupo,

7

In bashpuoi creare funzioni chiamate come tali:

+() { pushd "$@"; }
-() { popd "$@"; }

che cos'è $@?
Lazer,

2
@Lazer: in sh e bash, si $@espande a tutti gli argomenti dati alla funzione o allo script. Non quotato funziona allo stesso modo di $*. Quando è racchiuso tra virgolette, tuttavia, si espande esattamente con le stesse parole di quelle originariamente fornite, senza alcuna suddivisione aggiuntiva.
user1686

@Lazer: si $@espande a tutti i parametri passati alla funzione (equivalente a "$1" "$2" ...). Per ulteriori informazioni, eseguire man bashe cercare parametri speciali.
André Paramés,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.