=====================================while语句========================================
while语句格式
while 和 if 的条件表达式完全相同,也是[ ] 或commad或test
最基本的i++ 条件型循环
命令型while 循环
while command 命令返回值0(成功执行),循环继续
While echo …
此命令没有失败的可能,所以必须有break,return,exit之类的指令
while 关键字
break———— 用来跳出循环
continue—— 用来不执行余下的部分,直接跳到下一个循环
===========================================FOR语句===================================
for语句格式
i++,n=n+1 必须用双层括号 $(($num+1)) ,单层括号$($num+1)不管用
(( ))与[ ]作用完全相同
再证明(( ))与[ ]完全相同--------if (( ))
$foo=$(($foo+1)) # 运行的时候这个地方报错
给变量赋值,左边的变量不需要加 $ 符号,
foo=$(($foo+1))
赋值=,read,export都不需要加变量$
while语句格式
while |
| |
| |
| |
i=1 while [ $i -lt 10 ] do sed -n "${i}p" 111.txt i=$(($i+1)) done |
while command
pause函数,输入任何值继续,输入q退出程序 pause() { while echo "Press <return> to proceed or type q to quit:" do read cmd case $cmd in esac done |
break———— 用来跳出循环
continue—— 用来不执行余下的部分,直接跳到下一个循环
===========================================FOR语句===================================
for |
[root@mac-home home]# vi test.sh : echo "input num:" read num echo "input is $num" num=$($num+1) echo "new num is $num" [root@mac-home home]# sh test.sh input num: 3 input is 3 test.sh: line 6: 3+1: command not found new num is |
[root@mac-home home]# vi test.sh : echo "input num:" read num echo "input is $num" num=$(($num+1)) echo "new num is $num" [root@mac-home home]# sh test.sh input num: 3 input is 3 new num is 4 |
echo input: read i i=$(($i+1)) echo $i | echo input: read i i=$[$i+1] echo $i |
[macg@localhost ~]$ sh ttt.sh input: 6 7 | [macg@localhost ~]$ sh ttt.sh input: 6 7 |
if (( $# != 3 )); then fi | if [ $# != 3 ]; then fi |
[macg@localhost ~]$ sh ttt.sh 1 2 usage: ttt.sh host user passwd | [macg@localhost ~]$ sh ttt.sh 1 2 usage: ttt.sh host user passwd |
给变量赋值,左边的变量不需要加 $ 符号,
foo=$(($foo+1))
赋值=,read,export都不需要加变量$