【发布时间】:2023-11-15 20:54:01
【问题描述】:
我真的看不出我的脚本有什么问题。我考虑过缺少引号或其他语法错误。一定有什么我错过了。这是一个非常简单的while循环脚本...
#!/bin/bash
c=1
while [ $c -le 5 ]
do
echo "Welcone $c times"
c=$(( c++ ))
done
我应该提到我正在 Windows 7 上的 cygwin 中运行 bash。
感谢您的帮助
【问题讨论】:
-
会不会是一个奇怪的 Windows 空白字符?我尝试在 Linux 和 got the following output 中运行它。
-
您是否使用 Windows 编辑器(如记事本)来创建此文件?如果是这样,您可能遇到了终端问题。尝试使用
dos2unix对其进行转换(并阅读手册页,它会覆盖其输入)。 -
可能是。我想我只是不会想太多,我会尝试在 linux 中运行它。 (显然,我无法在带有 sudo apt-get 的 Windows 中安装 dos2unix ...如果您有解决方法,我将不胜感激^ ^)
-
在 Windows 上使用 Notepad++。它具有行尾设置(和语法突出显示等)。
-
tr -d '\r' < your-script.sh > temp.sh; mv temp.sh your-script.sh