Essa é a melhor descrição que consigo pensar, peço desculpas se for um pouco esotérico.
Tenho o cygwin instalado no Win 10, Build 16299, mas está instalado com a opção de não administrador; não há opção de instalar como administrador neste PC.
Ao executar a linha a seguir, ela é executada quando o gawk é encontrado usando o PATH, mas não quando eu digo explicitamente onde encontrar o executável. Alguma sugestão?
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)
O diretório cygwin é um subconjunto de comandos cygwin junto com todas as DLLs copiadas de \cygwin64\bin\
Responder1
Suponha que você execute o comando no diretório `/home/user'.
Quando você executa gawk
, $CWD (diretório de trabalho atual) é definido como /home/user
.
Quando você executa .\cygwin\gawk
, $CWD é definido como /home/user/cygwin
. Neste caso ./cygwin/sh
aponta para /home/user/cygwin/cygwin
.
Vamos tentar isso:
.\cygwin\gawk "BEGIN { print \"echo Hello mum\" | \"./sh\" }"