1、shell的基本格式、變量
專注于為中小企業(yè)提供網(wǎng)站設(shè)計(jì)制作、成都做網(wǎng)站服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)沈河免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了1000+企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過(guò)網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。# shell腳本中要加上解釋器 #! /bin/bash
# 用腳本打印出hello world
#! /bin/bash
echo "hello world"
exit
參數(shù):參數(shù)是一個(gè)存儲(chǔ)實(shí)數(shù)值的實(shí)體,腳本中一般被引用
#利用變量回顯hello world,下面例子會(huì)回顯兩個(gè)hello world。
#! /bin/bash
a="hello world"
echo $a
echo "hello world"
exit
如果參數(shù)后面加著其它內(nèi)容,需要用{}
#! /bin/bash
a="hello world"
echo ${a},i am coming
exit
回顯結(jié)果:
#計(jì)算字符串長(zhǎng)度,hello world 連空格,總共11
2、腳本退出
#一個(gè)執(zhí)行成功的腳本返回值為0,不成功為非0
[root@localhost script]# clear
[root@localhost script]# sh hello.sh
hello world,i am coming
11
[root@localhost script]# echo $?
0
#判斷一個(gè)目錄內(nèi)是否有某個(gè)文件,有則回顯file exsit ,沒(méi)有則返回1
[root@localhost script]# cat test.sh
#! /bin/bash
cd /home
if [ -f file ];then
echo "file exsit"
else
exit 2
fi
[root@localhost script]# sh test.sh
[root@localhost script]# echo $?
2
[root@localhost script]#
3、Test語(yǔ)句、if語(yǔ)句
test -d xx 目錄是否存在
test -f xx 文件是否存在
test -b xx 是否為塊文件
test -x xx 是否為可執(zhí)行文件
A -eq B 判斷是否相等
A -ne B 判斷不相等
A -le B 小于等于
A -lt B 小于
A -gt B 大于
#if條件判斷語(yǔ)句
if [];then
......
else
......
fi
#if語(yǔ)句嵌套
if [];then
.......
elif [];then
.......
elif [];then
.......
else
......
fi
#test舉例,判斷test文件是否存在,如果存在對(duì)其進(jìn)行備份操作。如果不在回顯信息
#例子:輸入一個(gè)數(shù)值判斷其在哪個(gè)區(qū)間。小于80,大于100,位于80到100之間,用的是if嵌套!
[root@localhost script]# cat if.sh
#! /bin/bash
read -p "plz input a $num:" num
if [ $num -le 80 ];then
echo "num is less 80"
elif [ $num -ge 80 ] && [ $num -le 100 ];then
echo "num between 80 and 100"
else
echo "num is greater than 100"
fi
4、循環(huán)語(yǔ)句 for、while
for var in $var1 $var2 $var3 var4... $var
do
......
......
done
#例子:打印1到10數(shù)字
[root@localhost home]# cat for1.sh
#! /bin/bash
for var in {1..10}
do
echo "$var"
sleep 2
done
[root@localhost home]# sh for1.sh
1
2
3
4
5
6
7
8
9
10
[root@localhost home]#
#打印方塊內(nèi)容 for嵌套
[root@localhost home]# sh for2.sh
*********
*********
*********
*********
*********
*********
*********
*********
*********
[root@localhost home]# cat for2.sh
#! /bin/bash
for ((i=1;i<10;i++))
do
for ((j=1;j<10;j++))
do
echo -n "*"
done
echo ""
done
# while循環(huán),主要也是用于循環(huán),另外還有continue(跳出continue下面語(yǔ)句,回歸頂部命令行)、break(停止、退出循環(huán))
#while語(yǔ)句
while [條件判斷]
do
......
......
done
#例子:根據(jù)條件判斷的,輸出1-10
[root@localhost script]# cat while.sh
#! /bin/bash
var=1
while [ $var -le 10 ]
do
echo $var
var=$[$var+1]
done
[root@localhost script]# sh while.sh
1
2
3
4
5
6
7
8
9
10
[root@localhost script]# echo $?
0
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。