Crie um atalho de script cygwin que solicite parâmetros

0

Eu criei um script para cygwin e configurei um atalho como explicado no final de este tutorial .

Por enquanto, meu script precisa 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'
    
por carla 21.10.2016 / 20:39

1 resposta

0

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.

C:\cygwin64\bin\mintty.exe /usr/bin/bash --login "/cygdrive/c/cygwin64/echo.sh" %1

Você também pode arrastar e soltar um ícone para seu script.cmd e ele recebe o caminho do arquivo descartado como um argumento. Você tem que cuidar do Windows < - > Traduções de caminho do Cygwin ( cygpath ) no entanto.

    
por 17.01.2017 / 11:54