1、EOF
Shell中通常將EOF與 <<和cat 結(jié)合使用,表示后續(xù)的輸入作為子命令或子Shell的輸入,直到遇到EOF為止,再返回到主調(diào)Shell。
可以把EOF替換成其他東西,意思是把內(nèi)容當(dāng)作標(biāo)準(zhǔn)輸入傳給程序。一般有兩種用法,一種是直接打印在屏幕上,常用的是打印菜單,還
有一種用法是把輸入的內(nèi)容輸出到另一個(gè)文件中。
1)
[root@localhost sh]# cat <<EOF
> 1)第一個(gè)菜單
> 2)第二個(gè)菜單
> 3)第三個(gè)菜單
> EOF
1)第一個(gè)菜單
2)第二個(gè)菜單
3)第三個(gè)菜單
2)
[root@localhost sh]# cat >>/opt/sh/test.log <<EOF
> 1、請注意你的輸入合適
> 2、我們都是好朋友
> 3、咋們相互合作吧
> EOF
[root@localhost sh]# cat test.log
1、請注意你的輸入合適
2、我們都是好朋友
3、咋們相互合作吧
2、$?
表示上一條命令是否執(zhí)行成功,通過echo $?如果顯示是0表示上一個(gè)命令執(zhí)行成功,如果執(zhí)行結(jié)果為非0表示不成功。
[root@localhost sh]# ls -l
total 4
-rw-r--r--. 1 root root 85 Apr 12 03:47 test.log
[root@localhost sh]#
[root@localhost sh]# echo $?
0
[root@localhost sh]# lt -l
-bash: lt: command not found
[root@localhost sh]#
[root@localhost sh]# echo $?
127
3、兩個(gè)數(shù)字的比較
-eq表示等于 -ne表示不等于 -gt表示大于 -lt表示小于 -ge表示大于等于 -le表示小于等于
[root@localhost sh]# [ 2 -eq 3 ] && echo 0
[root@localhost sh]#
[root@localhost sh]#
[root@localhost sh]# [ 2 -eq 2 ] && echo 0
0
[root@localhost sh]# [ 2 -eq 2 ] && echo 0 || echo 1
0
[root@localhost sh]# [ 2 -eq 3 ] && echo 0 || echo 1
1
[root@localhost sh]# [ 3 -gt 2 ] && echo 0 || echo 1
0
[root@localhost sh]# [ 3 -gt 4 ] && echo 0 || echo 1
1
[root@localhost sh]# [ 3 -lt 4 ] && echo 0 || echo 1
0
[root@localhost sh]# [ 3 -lt 1 ] && echo 0 || echo 1
1
4、比較字符串的方法
[root@localhost sh]# name=lihua
[root@localhost sh]# [[ $name = lihua ]] && echo 0 || echo 1
0
[root@localhost sh]# [[ $name = "lihua" ]] && echo 0 || echo 1
0
[root@localhost sh]#
[root@localhost sh]# [[ $name = "lihua1" ]] && echo 0 || echo 1
1
5、中括號(hào)中的判斷
[ -z ]判斷變量是不是空值
[ ! -z ]判斷變量是不是不是空值
[ -d FILE]如果 FILE 存在且是一個(gè)目錄則為真
[ -f FILE ] 如果 FILE 存在且是一個(gè)普通文件則為真。
[root@localhost sh]# name=heruiguo
[root@localhost sh]# [ -z $name ]&& echo 0 ||echo 1
1
[root@localhost sh]# [ ! -z $name ]&& echo 0 ||echo 1
0
6、函數(shù)
#!/bin/bash
aaa(){
echo "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
}
aaa
aaa
aaa
aaa
[root@localhost sh]# ./funsco.sh
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
聯(lián)系客服