在WSL2中使用While循环

  • 本文关键字:While 循环 WSL2 wsl-2
  • 更新时间 :
  • 英文 :


我在非常基本的基本与Shell。一般来说,我只对ssh使用WSL2。现在,我写一个循环,所以我谷歌一个例子,看看它是如何工作的。这是我的参考:https://ryanstutorials.net/bash-scripting-tutorial/bash-loops.php。问题是,即使我只是复制和粘贴他们的例子,我得到错误:

loop_learning.sh: line 4: $'r': command not found
loop_learning.sh: line 10: syntax error near unexpected token `done'
loop_learning.sh: line 10: `done'

这是我刚刚复制粘贴的代码:

#!/bin/bash
# Basic while loop
counter=1
while [ $counter -le 10 ]
do
echo $counter
((counter++))
done
echo All done

问题可能是您从Windows复制粘贴了脚本,并试图从Linux执行它。Windows除了使用NL外还使用CR来表示新行,而Linux只使用'n',并且发现前者('r')很奇怪。

在WSL2终端上尝试这样做:

sed 's/r//g' your-copied-script.sh > your-clean-script.sh

并执行你的-clean-script.sh

相关内容

  • 没有找到相关文章

最新更新