GNU/Linux >> Linux Esercitazione >  >> Linux

comando bash alias con virgolette singole e doppie

Ecco qualcosa che realizza la stessa cosa senza usare un alias. Mettilo in una funzione nel tuo .bashrc:

xx() {
    svn status | awk '$1 =="M"{print $2;}'
}

In questo modo non devi preoccuparti di ottenere le virgolette giuste. Usa la stessa identica sintassi che useresti nella riga di comando.


Devi solo eseguirne correttamente l'escape.

alias xxx="svn status | awk '\$1 ==\"M\"{print \$2;}'"

Da Bash 2.04 c'è un terzo modo (più semplice) oltre all'uso di una funzione o all'escape come ha fatto @ffledgling:usare la sintassi letterale stringa (ecco un'ottima risposta).

Quindi, ad esempio, se vuoi creare un alias di questo onliner, finirà per essere:

alias snap-removedisabled=$'snap list --all | awk \'$5~"disabled"{print $1" --revision "$3}\' | xargs -rn3 snap remove'

Quindi devi solo aggiungere il $ davanti alla stringa ed eseguire l'escape delle virgolette singole.

Questo porta un avviso shellcheck che potresti probabilmente disabilitare in sicurezza con # shellcheck disable=SC2139 .


Linux
  1. Apertura di un file .tar.gz con un singolo comando

  2. Rimozione di virgolette singole e doppie in una stringa utilizzando solo i comandi bash/standard di Linux

  3. Alias ​​con variabile in bash

  4. Conserva le virgolette negli argomenti di bash

  5. Compilare e creare con una singola riga di comando Java (Linux)

Bash HereDoc Tutorial con esempi

Comando di uscita Bash e codici di uscita

I comandi alias e unalias spiegati con esempi

Crea e usa alias Bash in Linux

Differenza tra virgolette singole e doppie in Bash Shell

Bash Scripting Part2 – Cicli For e While con esempi