我试图更好地理解bash语法,我需要一些while循环的帮助:
以下脚本有效:
#!/bin/bash
#
counter=2
mystring=testdir
while [ $counter -le 5 ]; do
echo Making dir $mystring$counter
mkdir $mystring$counter
ls *.slurm > $mystring$counter/testfile.$counter.slurm
counter=$((counter+1))
done
问题1:什么是-le
?谷歌似乎没有帮助,向我展示了任何带有"linux"一词的页面
我从字面上复制了以下表格,而手册,但它不起作用:
#!/bin/bash
set x 0
while {$x<10} {
puts "x is $x"
incr x
}
#test3.sh: line 6: syntax error near unexpected token `}'
#test3.sh: line 6: `}'
问题2:我做错了什么?感谢您的关注:)
[
是内置函数test
同义词,-le
是可能的测试之一,较低或相等。在 bash 中尝试这个以获取更多详细信息:
help [
help test
你的第二个问题,它看起来根本不像bash语法。
什么是
-le
?
它的意思是"小于或等于"。
我做错了什么?
几乎所有东西。你的脚本在 bash 中应该看起来像这样
x=0
while [ $x -lt 10 ]; do
echo "x is $x"
((x++))
done
我认为你真的应该阅读 bash 手册。