Arquivos Babun (cygwin) e .sh. O que há de errado?

0

Estou tentando executar um script muito simples, o .sh, no windows, mas não consigo. Eu sou totalmente iniciante sobre scripts e babun, então eu tento explicar o meu problema.

Eu tenho 2 arquivos e preciso manipulá-los com o comando sed.

A entrada dos comandos é:

cd /cygdrive/c/ProgramData/ServerCare/WebGrab_01/

sed -i "15s|.*|  <filename>C:\\ProgramData\\ServerCare\\data\\xml\\guide_01.xml</filename>|" WebGrab++.config.xml

cd /cygdrive/c/ProgramData/ServerCare/WebGrab_02/

sed -i "15s|.*|  <filename>C:\\ProgramData\\ServerCare\\data\\xml\\guide_02.xml</filename>|" WebGrab++.config.xml

cd /cygdrive/c/ProgramData/ServerCare/WebGrab_01/

sed -i '/<!--02-->/,/<!--19-->/d' WebGrab++.config.xml

cd /cygdrive/c/ProgramData/ServerCare/WebGrab_02/

sed -i '/<!--01-->/,/<!--02-->/d' WebGrab++.config.xml

sed -i '/<!--03-->/,/<!--19-->/d' WebGrab++.config.xml

Enviando este processo um por um, tudo está bem.

Se eu adicionar os mesmos comandos em um arquivo .sh nada está funcionando bem. No shell, quando eu executo o arquivo que fiz, posso ler que todos os caminhos que estou usando estão errados. Por que se eu almoçar os comandos um por um, tudo está bem e se eu almoçar um script, não?

Este é o arquivo que eu fiz cygwin.sh

#!/bin/bash

cd /cygdrive/c/ProgramData/ServerCare/WebGrab_01/
sed -i "15s|.*|  <filename>C:\\ProgramData\\ServerCare\\data\\xml\\guide_01.xml</filename>|" WebGrab++.config.xml
cd /cygdrive/c/ProgramData/ServerCare/WebGrab_02/
sed -i "15s|.*|  <filename>C:\\ProgramData\\ServerCare\\data\\xml\\guide_02.xml</filename>|" WebGrab++.config.xml
cd /cygdrive/c/ProgramData/ServerCare/WebGrab_01/
sed -i '/<!--02-->/,/<!--19-->/d' WebGrab++.config.xml
cd /cygdrive/c/ProgramData/ServerCare/WebGrab_02/
sed -i '/<!--01-->/,/<!--02-->/d' WebGrab++.config.xml
sed -i '/<!--03-->/,/<!--19-->/d' WebGrab++.config.xml

Os erros que recebo:

{ bash }  » ./cygwin.sh
/cygdrive/c/ProgramData/ServerCare/data/bash
./cygwin.sh: line 2: $'\r': command not found
: No such file or directoryygdrive/c/ProgramData/ServerCare/WebGrab_01/
: No such file or directoryonfig.xml
: No such file or directoryygdrive/c/ProgramData/ServerCare/WebGrab_02/
: No such file or directoryonfig.xml
: No such file or directoryygdrive/c/ProgramData/ServerCare/WebGrab_01/
: No such file or directoryonfig.xml
: No such file or directoryygdrive/c/ProgramData/ServerCare/WebGrab_02/
: No such file or directoryonfig.xml
 sed: can't read WebGrab++.config.xml: No such file or directory

Além disso, eu preciso editar os arquivos 2 vezes por dia, existe uma maneira de almoçar o arquivo .sh e executá-lo dentro do shell Babun? Eu sei o caminho para o almoço automaticamente no windows 7, mas não a maneira de associar o shell alternativo. Se eu almoçar o arquivo .sh e eu escolho babun para executá-lo nada acontece.

Obrigado em conselho para todos podem me responder:)

Obrigado DavidPostill para me ajudar sobre a edição.

    
por Tapiocapioca 30.08.2016 / 23:20

1 resposta

0

a dica está aqui:

./cygwin.sh: line 2: $'\r': command not found

converte o arquivo da terminação de linha CRLF para somente a terminação LF com

d2u ./cygwin.sh 

No cygwin, o comando d2u pertence ao pacote dos2unix-7.3.4-1, eu também assumo que babun deveria tê-lo.

    
por 31.08.2016 / 11:36