Script de terminal do Ubuntu do Windows não funciona

0

para minha atribuição de programação bash eu tenho que criar pipelines para processar um arquivo para encontrar alguns padrões. No momento, estou usando o terminal Windows 10 Ubuntu App . Eu escrevi o seguinte o seguinte:

echo "Processing Log Files..."
# error is the word I'm looking for in the files
grep error -A 1 logfile1.txt >> filter.txt
grep error -A 1 logfile2.txt >> filter.txt
echo "Done."

Mas quando eu executo o arquivo com o cabeçalho #! / bin / sh , recebo este erro:

Processing Log Files...
: Directory nonexistentoder.sh: cannot create filter.txt
: Directory nonexistentoder.sh: cannot create filter.txt
Done.

E quando eu executo o código com o cabeçalho #! / bin / bash eu recebo este erro:

Processing Log Files...
: No such file or directoryer.txt
: No such file or directoryer.txt
Done.

Eu honestamente não tenho ideia do porquê isso acontece, eu mudei as permissões dos arquivos para o seguinte:

drwxrwxrwx 0 root root   512 Mar 20 23:25 .
drwxrwxrwx 0 root root   512 Mar 20 13:59 ..
-rwxrwxrwx 1 root root   316 Mar 20 23:24 decoder.sh
-rwxrwxrwx 1 root root 52247 Mar 19 15:59 logfile1.txt
-rwxrwxrwx 1 root root 33142 Mar 19 15:59 logfile2.txt
-rwxrwxrwx 1 root root   239 Mar 19 15:39 mapping-sorted.txt
    
por Diego Rodriguez 21.03.2018 / 06:46

1 resposta

2

Graças a @steeldriver, descobri que o script que escrevi tinha caracteres ocultos no Windows, desde que eu estava usando um editor de texto do Windows. Eu corri a seguinte linha, e o arquivo tinha o cabeçalho #! / Bin / bash .

dos2unix scriptName.sh

o script funcionou depois: D

    
por Diego Rodriguez 21.03.2018 / 07:24