Проблема с запуском скрипта в файле .sh

Я хочу выполнить приведенный ниже скрипт

rm -rf /home/apps/temp
export DAA_HOME=/home/apps/Tools/3.6/eclipse
export BuildFile=/home/apps/Tools/Automated/BuildFile
alias Studio_Home=$DAA_HOME
rm -f Studio_Home/build.xml
cp $BuildFile/build.xml Studio_Home
cd Studio_Home
ant -f build.xml

И я получаю следующие ошибки:

cp: cannot stat ‘/home/apps/Tools/Automated/BuildFile\r/build.xml’: No such file or directory
: No such file or directoryudio_Home

Может кто-нибудь помочь, пожалуйста?

-1
задан 11 March 2017 в 09:45

2 ответа

Linux сказал Вам о Вашей проблеме очень хорошо, просто необходимо читать:

/home/apps/Tools/Automated/BuildFile\r/build.xml: Никакой такой файл или каталог

нет немного \r, который не должен быть там. Это походит, в Вашем сценарии, \r, символ был вставлен в конце следующей строки:

export BuildFile=/home/apps/Tools/Automated/BuildFile

Удостоверяются, что Ваш файл сценария сохранен в UTF-8 для UNIX. Строки, заканчивающиеся \r\n, типичны к системам DOS как Windows. В gedit, этот параметр может быть установлен в окно Save As .

Gedit Save As

Как решение для командной строки, вот немного sed заменяющая строка:

sed "s/\r\n/\n/g" -i ./script.sh

Вы могли также использовать dos2unix программа:

sudo apt-get install dos2unix
dos2unix ./script.sh
2
ответ дан 11 March 2017 в 09:45

У Вас есть символ возврата каретки в пути:

/home/apps/Tools/Automated/BuildFile\r/build.xml

Это невидимо, вот почему Вы не заметили его. Простое решение только к ре, пишут этот фрагмент вручную снова в Вашем редакторе и сохранили файл.

0
ответ дан 11 March 2017 в 09:45

Другие вопросы по тегам:

Похожие вопросы: