Das ist wirklich verwirrend ...
Ich habe derzeit einen Debian 8-Computer und verbinde mich mit ihm über PuTTY (SSH).
Die standardmäßig verwendete Konsole ist Bash.
Wenn ich versuche, einen Pfad an einen Alias zu übergeben, wird der folgende Fehler angezeigt:
-bash: /: Is a directory
Hier ist ein Beispiel:
Außerdem gibt es ein bizarres Verhalten: Beim Ausführen '/'
tritt "/"
derselbe Fehler auf, als ob Bash Anführungszeichen ignorieren würde.
Falls es wichtig ist, der Alias explorer
wurde folgendermaßen definiert:
alias explorer='pcmanfm 1>/dev/null 2>&1 &'
Ist das das erwartete Verhalten?
Wenn nicht, was mache ich falsch?
Antwort1
So wie Sie Ihren Alias geschrieben haben, würde der von Ihnen ausgeführte Befehl wie folgt erweitert werden:
pcmanfm 1>/dev/null 2>&1 & '/'
Dieser läuft pcmanfm
ohne weitere Optionen als Hintergrundjob undDann/
Versuchen Sie , als Befehl auszuführen .
Sie möchten wahrscheinlich eine Funktion anstelle eines Alias
explorer() { pcmanfm "$@" >/dev/null 2>&1 & }
Antwort2
Der Alias stellt eine wörtliche Erweiterung dar. Das Ausführen explorer /
von Maps auf
pcmanfm 1>/dev/null 2>&1 & /
Dies läuft pcmanfm
im Hintergrund, unmittelbar gefolgt von /
im Vordergrund.