Não há sudo
no Cygwin. Outras fontes sugerem usar
cygstart --action=runas command args
que foi útil, mas não no meu caso, make install
estava agindo de forma irregular porque o diretório não é passado para o processo iniciado (é um problema com cygstart
) e estava sendo executado em uma janela separada do CMD em vez de mintty
. A solução mais universal é iniciar o shell do Cygwin com privilégios escalados em si (você pode redirecionar a saída do comando escalado somente dessa forma):
cygstart --action=runas mintty -
mas você ainda precisa navegar de volta para o diretório onde você queria executar o comando.
Eu também encontrei a chave -d
para cygstart
, o que torna o comando ainda pior:
#su analog
cygstart --action=runas -d "$(pwd)" mintty -
#sudo analog
cygstart --action=runas -d "$(pwd)" mintty command args
Pode ser a melhor solução, mas o mintty não passa no diretório OURO sem um switch separado e não passa o diretório de trabalho para o shell ( mintty -
).
Portanto, a versão final de sudo
é:
#new mintty window
cygstart --action=runas mintty -dir "$(pwd)" command args
#new CMD window
cygstart --action=runas -d "$(pwd)" command args
e não consegui encontrar uma boa maneira de iniciar o shell no diretório de trabalho arbitrário.