Não é possível executar o shell script no Windows 10 com o Bash no Ubuntu

0

Eu sou novo no Windows 10 e Bash no Ubuntu e não estou familiarizado com o shell script. Eu tenho que executar este script de shell

#!/bin/bash -x
mkdir -p lib
mkdir -p bin
cd nnforge
make $@
cd plain
make $@
cd ../cuda
make $@
cd ../..
cd examples
for i in ./*
do
    if [ -d "$i" ];then
        cd $i
        make $@
        cd ..
    fi
done
cd ..
cd apps
for i in ./*
do
    if [ -d "$i" ];then
        cd $i
        make $@
        cd ..
    fi
done
cd ..

Mas quando eu executo esse script com o Bash, isso mostra esses erros

+ mkdir -p $'lib\r'
mkdir: cannot create directory ‘lib\r’: No such file or directory
+ mkdir -p $'bin\r'
mkdir: cannot create directory ‘bin\r’: No such file or directory
+ cd $'nnforge\r'
: No such file or directorynnforge
+ make $'\r'
./make_all.sh: line 5: make: command not found
+ cd $'plain\r'
: No such file or directoryplain
+ make $'\r'
./make_all.sh: line 7: make: command not found
+ cd $'../cuda\r'
: No such file or directory../cuda
+ make $'\r'
./make_all.sh: line 9: make: command not found
+ cd $'../..\r'
: No such file or directory ../..
+ cd $'examples\r'
: No such file or directory examples
./make_all.sh: line 13: syntax error near unexpected token '$'do\r''
'/make_all.sh: line 13: 'do

Como posso corrigir isso e executar o script corretamente?

    
por Razik 15.12.2016 / 07:47

1 resposta

0

  1. Este script é compilado de tal forma que importa onde ele está sendo executado. Certifique-se de executar o script da pasta na qual a pasta nnforge atual.
  2. Outro possível problema - um caractere de nova linha. Tente converter caracteres de nova linha em seu script no formato unix: %código%
  3. Seu sistema não possui um comando sudo apt-get install tofrodos dos2unix <your script full name> para instalá-lo, e outros comandos provavelmente necessários fazem o seguinte: %código%

PS Mas se você tentar criar nnforge , tenho medo de não obter resultados no Windows 10 Bash. Backend CUDA não funciona com precisão. No entanto, boa sorte !

    
por 15.12.2016 / 13:49