Неможливо запустити скрипт оболонки у Windows 10 за допомогою Bash на Ubuntu


0

Я новачок у Windows 10 і Bash на Ubuntu і не знайомий зі скриптом оболонки. Я повинен запустити цей скрипт оболонки

#!/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 ..

Але коли я запускаю цей сценарій з Bash, це показує ці помилки

+ 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

Як я можу це виправити і правильно запустити сценарій?

Відповіді:


0
  1. Цей сценарій складений таким чином, що має значення, де він працює. Переконайтеся, що ви запускаєте скрипт із тієї папки, у якій присутня nnforgeпапка.
  2. Ще одна можлива проблема - символ нового рядка. Спробуйте перетворити символи нового рядка у ваш сценарій у форматі unix: sudo apt-get install tofrodos dos2unix <your script full name>
  3. Ваша система не має makeкоманди встановити її, а інші, ймовірно, необхідні команди виконують: sudo apt-get install build-essential

PS Але якщо ви спробуєте створити nnforge, я боюся, що ви не отримаєте результатів у Windows 10 Bash. Підтримка CUDA працює не точно. Тим не менше, удачі !

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.