这是我能想到的最好的描述,如果有点深奥的话请原谅。
我在 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\" }"