Ich habe folgenden Alias:
alias mv='mv -i'
alias git='LANG=en_US \git '
Wenn ich dann einen git mv
Befehl mache, wird der wie mv
folgt interpretiert mv -i
:
$ git mv a b
error: unknown switch `i'
Ich möchte, dass der Alias nur angewendet wird, wenn es sich um einen Bash-Befehl handelt
Versionen:
- Ubuntu 16.04.3 LTS
- GNU Bash, Version 4.3.48 (1)
- Git Version 2.7.4 (auch ich glaube nicht, dass es mit Git verbunden ist)
Anmerkungen:
git \mv a b
funktioniert- Unaliasing Git funktioniert auch
\git mv a b
bash
Version 4.4 funktionieren Aliase nur, wenn der Alias das erste Wort in einer Zeile ist. Demo:alias woo="woo hoo" ; echo woo
Ausgängewoo
.mvi
oder ähnliches nennen.mv
eine Bash- Funktion (keinen Alias) zu erstellen .git
. Was bekommst du beim Versuchtype -a mv
undtype -a git
?Antworten:
Da
git
ein Alias mit einem Leerzeichen endet , führt bash eine Alias-Erweiterung für das Wort unmittelbar danach durch:Aus den Dokumenten :
Erstellen Sie
git
einen Alias ohne Leerzeichen:Beachten Sie, dass:
Also brauchst du da nicht
\git
.quelle