그것이 제가 생각할 수 있는 가장 좋은 설명입니다. 조금 난해하다면 사과드립니다.
Win 10, Build 16299에 cygwin을 설치했지만 비관리자 옵션으로 설치했습니다. 이 PC에는 관리자로 설치할 수 있는 옵션이 없습니다.
다음 줄을 실행하면 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 디렉토리는 \cygwin64\bin\에서 복사된 모든 dll과 함께 cygwin 명령의 하위 집합입니다.
답변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\" }"