|||
第16次课 shell基础知识
复习上节课知识
[root@ghqpub]# a=1
[root@ghqpub]# if (($a<5));then echo "a<5"; fi (可以用< >号)
a<5
[root@ghqpub]# if [[ 1.2 < 1.5 ]]; then echo "sb"; fi (两个中括号)
sb
[root@ghq pub]# seq -w 0 15
00
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
[root@ghq pub]# seq -w 90 110
090
091
092
093
094
095
096
097
098
099
100
101
102
103
104
105
106
107
108
109
110
嵌套的for循环
新内容
While循环
[root@ghq pub]# sh while.sh
0
1
2
3
4
5
6
7
8
9
10
[root@ghq pub]# sh -x while.sh
+a=0
+'[' 0 -le 10 ']'
+echo 0
0
+a=1
+'[' 1 -le 10 ']'
+echo 1
1
+a=2
+'[' 2 -le 10 ']'
+echo 2
2
+a=3
+'[' 3 -le 10 ']'
+echo 3
3
+a=4
+'[' 4 -le 10 ']'
+echo 4
4
+a=5
+'[' 5 -le 10 ']'
+echo 5
5
+a=6
+'[' 6 -le 10 ']'
+echo 6
6
+a=7
+'[' 7 -le 10 ']'
+echo 7
7
+a=8
+'[' 8 -le 10 ']'
+echo 8
8
+a=9
+'[' 9 -le 10 ']'
+echo 9
9
+a=10
+'[' 10 -le 10 ']'
+echo 10
10
+a=11
+'[' 11 -le 10 ']'
[root@ghq pub]# cat while.sh
#!/bin/bash
a=0
while[ $a -le 10 ]
do
echo $a
a=$[$a+1]
done
循环中的中断
[root@ghqpub]# sh for3.sh
1
2
3
[root@ghq pub]# sh -x for3.sh
++ seq 1 6
+ for i in '`seq 1 6`'
+ echo 1
1
+ '[' 1 -eq 3 ']'
+ echo
+ for i in '`seq 1 6`'
+ echo 2
2
+ '[' 2 -eq 3 ']'
+ echo
+ for i in '`seq 1 6`'
+ echo 3
3
+ '[' 3 -eq 3 ']'
+ break
[root@ghqpub]# cat for3.sh
#1/bin/bash
fori in `seq 1 6`
do
echo $i
if [ $i -eq 3 ]
then
break
fi
echo
done
[root@ghqpub]# sh for3.sh
1
11
1
2
21
22
2
3
31
32
33
3
4
41
42
43
4
5
51
52
53
5
6
61
62
63
6
[root@ghq pub]# cat for3.sh
#1/bin/bash
for i in `seq 1 6`
do
echo $i
for j in `seq 1 $i`
do
echo $i $j
if [ $j -eq 3 ]
then
break
fi
done
echo
echo $i
done
另外在循环里面有 continue(退出当前循环,进行下一次循环)和exit(停止循环,并且退出shell)两个特殊命令,用法类似c语言。
和用户交互的命令 read,可以从键盘输入一个数据
[root@ghq pub]# sh read.sh
pleaseenter a number: 3.4
3.4
[root@ghq pub]# cat read.sh
#!/bin/bash
read-p "please enter a number: " a
echo$a
判断输入的是不是纯数字?
[root@ghq pub]# cat read2.sh
#!/bin/bash
if_number()
{
b=`echo "$1"|sed's/[0-9]//g'`
if [ -z $b ]
then
echo return 0;
else
return 1;
fi
}
read -p "pleaseenter a number: " a
if if_number $a
then
echo ok
else
echo nook
fi
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2025-1-15 16:11
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社