我试图更好地理解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
? Google似乎并没有帮助,向我显示任何带有'linux'字样的页面
我从字面上复制了while手册的以下形式,但它不起作用:
#!/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:我在做什么错?谢谢您的关注:)
答案 0 :(得分:2)
[
是test
内置函数的同义词,而-le
是可能的测试之一,小于或等于。在bash中尝试此操作以获取更多详细信息:
help [
help test
重新。您的第二个问题,它看起来根本不像bash语法。
答案 1 :(得分:2)
-le
是什么?
它的意思是“小于或等于”。
我在做什么错了?
几乎所有内容。您的脚本在bash中应该看起来像这样
x=0
while [ $x -lt 10 ]; do
echo "x is $x"
((x++))
done
我认为您确实应该阅读bash手册。