<Precedenti | Contenuti | Succ.>
Creare i tuoi comandi con alias
Ora per la nostra prima esperienza con la programmazione! Creeremo un comando nostro usando il alias comando. Ma prima di iniziare, dobbiamo rivelare un piccolo trucco da riga di comando. È possibile inserire più di un comando su una riga separando ogni comando con un punto e virgola. Funziona così:
command1; command2; command3...
command1; command2; command3...
Ecco l'esempio che useremo:
[io@linuxbox~]$ cd /usr; ls; cd -
bin games kerberos lib64 local share tmp
[io@linuxbox~]$ cd /usr; ls; cd -
bin games kerberos lib64 local share tmp
ecc. includono lib
/home/me [me@linuxbox ~]$
libexec sbin
src
ecc. includono lib
/home/me [me@linuxbox ~]$
Come possiamo vedere, abbiamo combinato tre comandi su una riga. Per prima cosa cambiamo directory in / usr quindi elenca la directory e infine torna alla directory originale (utilizzando 'CD
-') quindi torniamo al punto di partenza. Ora trasformiamo questa sequenza in un nuovo comando usando alias. La prima cosa che dobbiamo fare è trovare un nome per il nostro nuovo comando. Proviamo "test". Prima di farlo, sarebbe una buona idea scoprire se il nome "test" è già in uso. Per scoprirlo, possiamo usare di nuovo il comando type:
[io@linuxbox~]$ test di tipo
test è un componente shell incorporato
[io@linuxbox~]$ test di tipo
test è un componente shell incorporato
Oops! Il nome "test" è già stato preso. Proviamo con "foo":
[io@linuxbox~]$ tipo foo
bash: tipo: foo: non trovato
[io@linuxbox~]$ tipo foo
bash: tipo: foo: non trovato
Creare i tuoi comandi con alias
Ottimo! "foo" non è già stato preso. Quindi creiamo il nostro alias:
[io@linuxbox~]$ alias foo='cd /usr; ls; cd -'
[io@linuxbox~]$ alias foo='cd /usr; ls; cd -'
Nota la struttura di questo comando:
alias Nome='stringa'
alias Nome='stringa'
Dopo il comando "alias", diamo ad alias un nome seguito immediatamente (senza spazi) da un segno di uguale, seguito immediatamente da una stringa tra virgolette contenente il significato da assegnare al nome. Dopo aver definito il nostro alias, può essere utilizzato ovunque la shell si aspetti un comando. Proviamo:
[io@linuxbox~]$ foo
bin games kerberos lib64 local share tmp
[io@linuxbox~]$ foo
bin games kerberos lib64 local share tmp
ecc. includono lib
/home/me [me@linuxbox ~]$
libexec sbin
src
ecc. includono lib
/home/me [me@linuxbox ~]$
Possiamo anche usare il Digitare comando di nuovo per vedere il nostro alias:
[io@linuxbox~]$ tipo foo
foo è alias di `cd /usr; ls; cd -'
[io@linuxbox~]$ tipo foo
foo è alias di `cd /usr; ls; cd -'
Per rimuovere un alias, il Unalias viene utilizzato il comando in questo modo:
[io@linuxbox~]$ unalias foo [io@linuxbox~]$ tipo foo bash: tipo: foo: non trovato
[io@linuxbox~]$ unalias foo [io@linuxbox~]$ tipo foo bash: tipo: foo: non trovato
Sebbene abbiamo volutamente evitato di assegnare al nostro alias il nome di un comando esistente, non è raro farlo. Questo viene spesso fatto per applicare un'opzione comunemente desiderata a ogni invocazione di un comando comune. Ad esempio, abbiamo visto in precedenza come... ls il comando è spesso modificato per aggiungere il supporto del colore:
[io@linuxbox~]$ tipo ls
ls è alias di `ls --color=tty'
[io@linuxbox~]$ tipo ls
ls è alias di `ls --color=tty'
Per visualizzare tutti gli alias definiti nell'ambiente, utilizzare alias comando senza argomenti. Ecco alcuni degli alias definiti di default su un sistema Fedora. Prova a capire cosa fanno tutti:
[io@linuxbox~]$ alias
alias l.='ls -d .* --color=tty' alias ll='ls -l --color=tty' alias ls='ls --color=tty'
[io@linuxbox~]$ alias
alias l.='ls -d .* --color=tty' alias ll='ls -l --color=tty' alias ls='ls --color=tty'
C'è un piccolo problema con la definizione degli alias sulla riga di comando. Scompaiono al termine della sessione shell. In un capitolo successivo, vedremo come aggiungere i nostri alias ai file che definiscono l'ambiente ogni volta che effettuiamo il login, ma per ora, godetevi il fatto di aver mosso il nostro primo, seppur piccolo, passo nel mondo della programmazione shell!