需要帮助理解 bash 语法



我试图更好地理解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 手册。

最新更新