shell脚本错误期待"做"

Jor*_*dan 12 linux bash shell

#!/bin/sh
while true ; do
echo "WTF"
done
Run Code Online (Sandbox Code Playgroud)

这给出了语法错误:语法错误:意外的文件结束(期待"do")

我也尝试过:

#!/bin/sh
while :
do
echo "WTF"
done
Run Code Online (Sandbox Code Playgroud)

Aar*_* H. 32

我怀疑是行结尾.

尝试:

hexdump -C yourscript.sh 
Run Code Online (Sandbox Code Playgroud)

并寻找0d 0a序列.您可以使用以下命令strip \r(0d)tr:

cat yourscript.sh | tr -d '\r' >> yournewscript.sh
Run Code Online (Sandbox Code Playgroud)

  • @Jordan 如果我尝试将新脚本命名为与旧脚本相同的名称,那么该命令对我不起作用。如果您使用不同的名称,请删除旧文件,然后将新文件重命名为旧文件名,它将起作用。 (2认同)