Das ist die beste Beschreibung, die mir einfällt. Entschuldigen Sie, wenn sie etwas esoterisch ist.
Ich habe Cygwin auf Win 10, Build 16299, installiert, aber ohne Administratorberechtigung. Auf diesem PC gibt es keine Möglichkeit, es als Administrator zu installieren.
Wenn ich die folgende Zeile ausführe, wird es ausgeführt, wenn gawk über den PATH gefunden wird, aber nicht, wenn ich ihm explizit mitteile, wo die ausführbare Datei zu finden ist. Irgendwelche Vorschläge?
gawk "BEGIN { print \"echo Hello mum\" | \"./cygwin/sh\" }"
Hello mum
.\cygwin\gawk "BEGIN { print \"echo Hello mum\" | \"./cygwin/sh\" }"
gawk: cmd. line:1: fatal: can't open pipe `./cygwin/sh' for output (No such file or directory)
Das Cygwin-Verzeichnis ist eine Teilmenge der Cygwin-Befehle zusammen mit allen DLLs, die aus \cygwin64\bin\ kopiert wurden.
Antwort1
Angenommen, Sie führen den Befehl aus dem Verzeichnis „/home/user“ aus.
Wenn Sie es ausführen gawk
, wird $CWD (aktuelles Arbeitsverzeichnis) auf gesetzt /home/user
.
Wenn Sie ausführen, .\cygwin\gawk
wird $CWD auf gesetzt /home/user/cygwin
. In diesem Fall ./cygwin/sh
zeigt es auf /home/user/cygwin/cygwin
.
Lass uns das versuchen:
.\cygwin\gawk "BEGIN { print \"echo Hello mum\" | \"./sh\" }"