這是我能想到的最好的描述,抱歉,如果它有點深奧。
我在 Win 10 Build 16299 上安裝了 cygwin,但它是使用非管理員選項安裝的;此電腦上沒有以管理員身份安裝的選項。
執行以下行時,它會在使用 PATH 找到 gawk 時運行,但當我明確告訴它在哪裡找到可執行檔時則不會運行。有什麼建議麼?
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)
cygwin 目錄是 cygwin 指令的子集以及從 \cygwin64\bin\ 複製的所有 dll
答案1
假設您從目錄“/home/user”執行命令。
當您運行時gawk
,$CWD(當前工作目錄)設定為/home/user
.
當您運行時.\cygwin\gawk
, $CWD 將設定為/home/user/cygwin
。在本例中./cygwin/sh
指向/home/user/cygwin/cygwin
.
讓我們試試這個:
.\cygwin\gawk "BEGIN { print \"echo Hello mum\" | \"./sh\" }"