GNU/Linux >> Znalost Linux >  >> Linux

příkaz bash alias s jednoduchými i dvojitými uvozovkami

Zde je něco, co dosáhne stejné věci bez použití aliasu. Vložte jej do funkce ve vašem .bashrc:

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

Tímto způsobem se nemusíte starat o správné uvozovky. To používá přesně stejnou syntaxi, jakou byste použili na příkazovém řádku.


Stačí jej správně uniknout.

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

Od Bash 2.04 existuje třetí (snazší) způsob kromě použití funkce nebo escapování způsobem, jakým to udělal @ffledgling:pomocí syntaxe řetězcového literálu (zde je vynikající odpověď).

Takže například pokud chcete vytvořit alias tohoto onlinera, skončí to takto:

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

Takže stačí přidat $ před řetězec a uvozovky.

To přináší varování shellcheck, které byste pravděpodobně mohli bezpečně deaktivovat pomocí # shellcheck disable=SC2139 .


Linux
  1. Importujte funkce a proměnné do Bash pomocí příkazu source

  2. Alias ​​s proměnnou v bash

  3. Zachovat uvozovky v argumentech bash

  1. Otevření souboru .tar.gz jediným příkazem

  2. '&&' vs. '&' s příkazem 'test' v Bash

  3. bash:jak předat argumenty příkazového řádku obsahující speciální znaky

  1. Odstraňování jednoduchých a dvojitých uvozovek v řetězci pouze pomocí bash / standardních příkazů Linuxu

  2. Kompilace a sestavení pomocí jediného příkazového řádku Java (Linux)

  3. Bash - příkaz Datum a mezera