shell数组
- 对于我们所学过的数组,在Linux下同样试用,只是表达形式略微不同。
Linux下的数组并没有编程语言中的那么规范,对于不同种类的数组并不需要像程序语言里的那样用char,int,,float分开。
——在Linux下定义数组只需要直接用变量+( )表示即可,格式如下:a=(a b 21 3 6) 不同元素之间用空格隔开。
示例:
liuyan@liuyan-virtual-machine:~$ a=(1 2 3 4 5)
liuyan@liuyan-virtual-machine:~$ echo ${a[2]}
3
liuyan@liuyan-virtual-machine:~$ a[0]=hhh
liuyan@liuyan-virtual-machine:~$ echo ${a[*]}
hhh 2 3 4 5
liuyan@liuyan-virtual-machine:~$ let b=${a[1]}+${a[2]}
liuyan@liuyan-virtual-machine:~$ echo ${b}
5
liuyan@liuyan-virtual-machine:~$
if语句
- if语句是常见的流程控制语句,在Linux下if语句的规则与许多程序语言的规则类似。
规则如下
if 判断条件;then 判断为真的执行语句;else 判断不为真的执行语句;fi
注: 在Linux下的if语句末尾用“ fi ”表示if语句结束,各语句之间用分号隔开
示例:
liuyan@liuyan-virtual-machine:~/Desktop/Text/shell$ if test 1 -ge 5;then echo "1>5";else echo "1<5";fi
1<5
test命令
- test用来实现Linux里的逻辑运算
对于test来说,它里面的运算与我们常见的运算方式有所不同,规则如下:
-eq: 等于运算
-ne: 不等于运算
-lt: 小于运算
-le: 小于等于运算
-ge: 大于等于运算
-gt: 大于运算
常见参数:
-e 文件名--如果文件存在则为真
-r 文件名--果文件存在且可读则为真
-w 文件名--如果文件存在且可写则为真
-x 文件名--如果文件存在且可执行则为真
-s 文件名--如果文件存在且至少有一个字符则为真
-d 文件名--如果文件存在且为目录则为真
-f 文件名--如果文件存在且为普通文件则为真
-c 文件名--如果文件存在且为字符型特殊文件则为真
-b 文件名--如果文件存在且为块特殊文件则为真
示例:
liuyan@liuyan-virtual-machine:~/Desktop/Text/shell$ if test 1 -ge 5;then echo "1>5";else echo "1<5";fi
1<5
liuyan@liuyan-virtual-machine:~/Desktop/Text/shell$
for语句
- for语句的使用规则与Python的使用规则相似,语法如下:
for 循环变量 in 对象;do 循环体;done
示例:
liuyan@liuyan-virtual-machine:~$ for i in {1..5};do echo ${i};done
1
2
3
4
5
liuyan@liuyan-virtual-machine:~$