Eu criei um script para o cygwin e configurei um atalho como explicado no final deste tutorial .
Por enquanto, meu script tem que receber parâmetros de variáveis e a maneira como foi definido ou é executado como se nenhum parâmetro fosse passado ou se eu definir qualquer coisa após o caminho do script que ele considera como parâmetro literal.
Considere um script (echo.sh) como este:
#!/bin/bash
echo "this"$1
sleep 30
O alvo no meu atalho:
C:\cygwin64\bin\bash.exe --login -i '/cygdrive/c/cygwin64/echo.sh'
Quando clico no atalho, ele já imprime 'this' e dorme. Eu tentei:
C:\cygwin64\bin\bash.exe --login -i '/cygdrive/c/cygwin64/echo.sh $1' #file not found
C:\cygwin64\bin\bash.exe --login -i '/cygdrive/c/cygwin64/echo.sh' $1 #prints 'this$1'
bash
cygwin
shell-script
carla
fonte
fonte
Respostas:
Como já foi dito nos comentários, os atalhos não podem manipular variáveis.
Você pode criar um script em lote (
script.cmd
), que recebe um argumento e invoca o Cygwin.Você também pode arrastar e soltar um ícone para o seu
script.cmd
, e ele recebe o caminho do arquivo descartado como um argumento. Você tem que cuidar do Windows <-> traduções de caminho Cygwin (cygpath
) no entanto.fonte