127 lines
3.8 KiB
Markdown
127 lines
3.8 KiB
Markdown
|
# Alias
|
||
|
|
||
|
In un sistema GNU/Linux è possibile personalizzare la shell impostando degli `alias`, cioè delle scorciatoie per i comandi lunghi utilizzati frequentemente. Ad esempio, digitando il comando
|
||
|
|
||
|
```bash
|
||
|
ls -a --color=auto
|
||
|
```
|
||
|
|
||
|
in un terminale otteniamo l"elenco delle cartelle e dei file (ls), compresi i file nascosti (-a), il tutto reso mediante una colorazione che automaticamente differenzia gli elementi (--color=auto). Con la definizione di un alias per il comando ls si può fare in modo che venga eseguito completo dei parametri senza bisogno di specificarli.
|
||
|
|
||
|
## Creazione di alias in Bash
|
||
|
|
||
|
La creazione di alias in bash è molto semplice. La sintassi è la seguente:
|
||
|
|
||
|
```bash
|
||
|
alias alias_name="command_to_run"
|
||
|
```
|
||
|
|
||
|
Quindi, riprendendo l"esempio precedente:
|
||
|
|
||
|
```bash
|
||
|
alias lsc="ls -a --color=auto"
|
||
|
```
|
||
|
|
||
|
Ora, se si digita il comando `lsc` sulla console, si otterrà lo stesso output che si avrebbe digitando `ls -a --color=auto`.
|
||
|
|
||
|
## Creare alias permanenti
|
||
|
|
||
|
L"alias sarà disponibile solo nella sessione di shell corrente: se si esce dalla sessione o si apre una nuova sessione da un altro terminale, l"alias non sarà utilizzabile.
|
||
|
|
||
|
Per rendere persistente l"alias è necessario dichiararlo nel file `~/.bash_profile` o `~/.bashrc`.
|
||
|
|
||
|
Aprire il file `~/.bashrc` e aggiungere i propri alias:
|
||
|
|
||
|
```bash
|
||
|
nano ~/.bashrc
|
||
|
|
||
|
...
|
||
|
|
||
|
# Aliases
|
||
|
# alias alias_name="command_to_run"
|
||
|
|
||
|
# color ls
|
||
|
alias ll="ls -la"
|
||
|
```
|
||
|
|
||
|
Una volta fatto, salvare e chiudere il file. Per rendere disponibili gli alias nella sessione corrente digitare:
|
||
|
|
||
|
```bash
|
||
|
source ~/.bashrc
|
||
|
```
|
||
|
|
||
|
## Creazione di alias Bash con argomenti (funzioni)
|
||
|
|
||
|
A volte potrebbe essere necessario creare un alias che accetta uno o più argomenti, ecco dove le funzioni bash sono utili.
|
||
|
|
||
|
La sintassi per creare una funzione bash è molto semplice. Possono essere dichiarati in due diversi formati:
|
||
|
|
||
|
```bash
|
||
|
function_name () {
|
||
|
[commands]
|
||
|
}
|
||
|
```
|
||
|
|
||
|
Oppure:
|
||
|
|
||
|
```bash
|
||
|
function function_name {
|
||
|
[commands]
|
||
|
}
|
||
|
```
|
||
|
|
||
|
Per passare un numero qualsiasi di argomenti alla funzione bash, si deve inserirli subito dopo il nome della funzione, separati da uno spazio. I parametri passati sono $1, $2, $3 , ecc, dove il numero indica la posizione del parametro dopo il nome della funzione. La variabile $0 è riservata per il nome della funzione.
|
||
|
|
||
|
Ecco una semplice funzione bash che creerà una directory e poi si sposterà in essa:
|
||
|
|
||
|
```bash
|
||
|
mkcd ()
|
||
|
{
|
||
|
mkdir -p -- "$1" && cd -P -- "$1"
|
||
|
}
|
||
|
```
|
||
|
|
||
|
Come per gli alias, bisogna aggiungere la funzione al file `~/.bashrc` ed eseguire il comando `source ~/.bashrc` per ricaricare il file.
|
||
|
|
||
|
Quindi, invece di utilizzare `mkdir` creare una nuova directory e il comando `cd` spostarsi in quella directory, è possibile digitare:
|
||
|
|
||
|
`mkcd nuova_cartella`
|
||
|
|
||
|
## List all Alias
|
||
|
|
||
|
Per vedere gli alias presenti, basta il seguente comando:
|
||
|
|
||
|
```bash
|
||
|
alias
|
||
|
```
|
||
|
|
||
|
## Alias che potrebbero tornare utili
|
||
|
|
||
|
```bash
|
||
|
## Terminal shortcuts
|
||
|
alias ..="cd ../"
|
||
|
alias ...="cd ../../"
|
||
|
alias ....="cd ../../../"
|
||
|
alias .....="cd ../../../../"
|
||
|
alias ll="ls -alhF --color=auto"
|
||
|
alias lc="ls -l --color=auto"
|
||
|
alias lsd="exa -lha --icons"
|
||
|
alias update="sudo apt update ; sudo apt -y upgrade ; sudo apt -y autoremove ; flatpak upgrade -y; flatpak uninstall --unused -y; sudo pkcon refresh ; sudo pkcon -y update"
|
||
|
alias install="sudo apt install -y"
|
||
|
alias reboot="sudo /sbin/reboot"
|
||
|
alias poweroff="sudo /sbin/poweroff"
|
||
|
alias grep="grep --color=auto"
|
||
|
alias egrep="egrep --color=auto"
|
||
|
|
||
|
## Github shortcuts
|
||
|
alias repo="gh repo create"
|
||
|
alias gi="git init"
|
||
|
alias ga="git add -A"
|
||
|
alias gc="git commit -m"
|
||
|
```
|
||
|
|
||
|
## Collegamenti
|
||
|
|
||
|
- [https://guide.debianizzati.org/index.php/Alias](https://guide.debianizzati.org/index.php/Alias)
|
||
|
- [https://noviello.it/come-creare-alias-bash-su-linux/](https://noviello.it/come-creare-alias-bash-su-linux/)
|