GNU/Linux >> LINUX-Kenntnisse >  >> Linux

bash-Alias-Befehl mit einfachen und doppelten Anführungszeichen

Hier ist etwas, das dasselbe erreicht, ohne einen Alias ​​zu verwenden. Setzen Sie es in eine Funktion in Ihrer .bashrc:

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

Auf diese Weise müssen Sie sich keine Gedanken darüber machen, ob die Quoten genau richtig sind. Dies verwendet genau dieselbe Syntax wie in der Befehlszeile.


Sie müssen es nur richtig maskieren.

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

Seit Bash 2.04 gibt es einen dritten (einfacheren) Weg neben der Verwendung einer Funktion oder der Flucht, wie es @ffledgling getan hat:die Verwendung von String-Literal-Syntax (hier ist eine ausgezeichnete Antwort).

Wenn Sie also beispielsweise einen Alias ​​für diesen Onliner erstellen möchten, lautet dieser am Ende:

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

Sie müssen also nur den $ hinzufügen vor der Zeichenfolge und maskieren Sie die einfachen Anführungszeichen.

Dies bringt eine Shellcheck-Warnung, die Sie wahrscheinlich mit # shellcheck disable=SC2139 sicher deaktivieren könnten .


Linux
  1. Wie deaktiviere ich einen Alias ​​in Bash für einen einzelnen Befehl?

  2. Entfernen von einfachen und doppelten Anführungszeichen in einer Zeichenfolge nur mit Bash / Standard-Linux-Befehlen

  3. Kompilieren und erstellen Sie mit einer einzigen Befehlszeile Java (Linux)

  4. Bash - Datumsbefehl und Leerzeichen

  5. bash:wie man Befehlszeilenargumente mit Sonderzeichen übergibt

Bash HereDoc Tutorial mit Beispielen

Bash Exit-Befehl und Exit-Codes

Die Alias- und Unalias-Befehle mit Beispielen erklärt

Erstellen und verwenden Sie Bash-Aliase unter Linux

Unterschied zwischen einfachen und doppelten Anführungszeichen in Bash Shell

Bash-Scripting Teil 2 – For- und While-Schleifen mit Beispielen