bash IF 语句不起作用 - 出现错误
bash IF statement doesn't work - getting error
我正在尝试在 bash 中编写简单的 IF 语句,但无论我尝试什么,我总是得到错误,那根本不应该上升,有人可以看看我的代码并告诉我做错了什么?
#!/bin/bash
echo "Checking..."
echo
if [ -f /var/www/git/repos/last_change.txt ];
then
echo "/var/www/git/repos/last_change.txt exists."
cd /var/www &&
git fetch --all &&
git reset --hard origin/develop &&
rm -f "/var/www/git/repos/last_change.txt"
fi;
echo
echo "...done."
我总是得到错误:
root@machine:/var/www/git/repos# sh check.sh
Checking...
: not found: 3: check.sh: echo
check.sh: 12: check.sh: Syntax error: "fi" unexpected (expecting "then")
一切似乎都还好吧?
很高兴能得到任何帮助,谢谢。
根据错误描述判断,您的文件很可能使用了 DOS 换行符 (CRLF)。 sh
需要 UNIX 换行符 (LF)。使用 dos2unix your_file_name.sh
.
转换文件
我正在尝试在 bash 中编写简单的 IF 语句,但无论我尝试什么,我总是得到错误,那根本不应该上升,有人可以看看我的代码并告诉我做错了什么?
#!/bin/bash
echo "Checking..."
echo
if [ -f /var/www/git/repos/last_change.txt ];
then
echo "/var/www/git/repos/last_change.txt exists."
cd /var/www &&
git fetch --all &&
git reset --hard origin/develop &&
rm -f "/var/www/git/repos/last_change.txt"
fi;
echo
echo "...done."
我总是得到错误:
root@machine:/var/www/git/repos# sh check.sh
Checking...
: not found: 3: check.sh: echo
check.sh: 12: check.sh: Syntax error: "fi" unexpected (expecting "then")
一切似乎都还好吧?
很高兴能得到任何帮助,谢谢。
根据错误描述判断,您的文件很可能使用了 DOS 换行符 (CRLF)。 sh
需要 UNIX 换行符 (LF)。使用 dos2unix your_file_name.sh
.