Qual é a diferença entre executar o script usando o Cygwin eo PuTTY?

0

Agora eu recebo um script.sh , antes ele era executado usando o PuTTY desde que fosse escrito em VMWare, mas agora eu quero executar no Windows usando o Cygwin, eu já copio o script.sh para o diretório correspondente, mas alguns Comandos Cygwin não pode reconhecer.

generate(){
 date +%T
}

TIME = generate()
echo " Current Time: $TIME"

Depois de executar no Cygwin

script.sh: line 3: syntax errot neat unexpected token '$'<\r''
script.sh: line 3:'generate<><
    
por Lily 18.03.2011 / 04:22

1 resposta

1

Você tem alguns erros no seu script. Você não pode ter espaços ao redor do sinal de igual em uma atribuição. Para atribuir a saída de uma função ou programa a uma variável, é necessário usar a substituição de comando, o que significa que o nome do comando é circundado por $() (o que é preferível) ou backticks (o que é menos desejável). Além disso, quando você chama uma função, você não usa parênteses após o nome da função como faria em outros idiomas.

generate () {
    date +%T
}

TIME=$(generate)

echo " Current Time: $TIME"

O erro $'\r' vem de ter terminações de linha do Windows. Você pode usar dos2unix para converter o arquivo ou usar um editor para escolher com qual tipo de final para salvar um arquivo.

dos2unix script.sh
    
por 18.03.2011 / 04:45