1.字符串運算符
= : 判斷兩個字符是否相等【 $string1 = $string2 】
氓涣!= :判斷兩個字符是否不相等【 $string1 != $string2 】
-z :判斷字符串長度是否為0
string=""
if [ -z $string ]
then
echo "length=0"
else
echo "length!=0"
fi
-n :判斷字符串長度是否不為0
string=""
if [ -n $string ]
then
echo "length!=0"
else
echo "length=0"
fi
str :判斷字符串長度是否為0堰氓,字符串是否存在
2.文件運算符
-d:目錄文件
-f:普通文件
=r:可讀文件
-w:可寫文件
-x:可執(zhí)行文件
-e:文件是否存在
if [ -e 0908 ]
then
echo "文件已存在"
else
mkdir 0908
fi
3.case命令
case 操作符 in
模式1)
語句1
;硫戈;
模式2)
語句2
;迈螟;
模式3)
語句3
禁荒;猬膨;
模式4)
語句4
;呛伴;
*)相當(dāng)于if語句中的else
esac
printf "input two numbers: "
read num1
read num2
printf "input yunsuan"
read op
case $op in
"+")
let value=num1+num2
printf "$value\n"
;;
"-")
let value=num1-num2
printf "$value\n"
;;
"")
let value=num1num2
printf "$value\n"
;;
"/")
let value=num1/num2
printf "$value\n"
;;
esac
4.while運算
while [條件]
do
語句
done
sum=0
i=1
while [ $i -le 100 ] #((i<=100))
do
let sum+=i
let i++
done
printf " sum=%d\n" "$sum"
5.shell參數(shù)
$0:代表這個可執(zhí)行文件本身
$1:第一個參數(shù)
$2:第二個參數(shù)
...
$n:第n個參數(shù)
$#:參數(shù)的個數(shù)
//0.是否有參數(shù)
//1.判斷這個文件是否存在
//2.如果不存在勃痴,輸出錯誤信息
6.for 循環(huán)
for 變量 in 參數(shù)變量
do
語句
done
7.數(shù)組
1.定義:
(1)array=(1 2 3 4 5)
(2)array[0]=1
array[1]=4
array[4]=6
(3)數(shù)組元素訪問
${數(shù)組名[下標(biāo)]} #加上{}谒所,表示為一個整體
(4)訪問數(shù)組所有元素
${array[@]}
${array[*]}
(5)@和*的區(qū)別
array=(1 2 3 4 5)
${array[@]}="1" "2" "3" "4" "5"
${array[*]}= "1 2 3 4 5"
8.shell函數(shù)
1.定義
[function] functionName
{
語句體
}
function fun1
{
printf "====\n"
}
fun1
2.functionName
function fun1
{
for value in "$@" //@
do
printf "$value\n"
done
printf "====\n"
}
array=(1 2 3 4)
fun1 ${array[@]}
function fun1
{
for value in "$*" //*
do
printf "$value\n"
done
printf "====\n"
}
array=(1 2 3 4)
fun1 ${array[@]}
3.如果shell函數(shù)傳參,傳的參數(shù)大于等于10個召耘,在函數(shù)里面取第10 個數(shù)${10}
4.函數(shù)的返回值由$?去接收
1.$?: 它是臨時保存最后一次運行的shell函數(shù)return出來的值
2.如果return $value出來的值$value>255百炬,實際上返回出來的結(jié)果應(yīng)該是$value%256
3.如果需要接受比255大的數(shù),使用echo命令去保存shell函數(shù)的結(jié)果集污它,接收用另外一個變量
value去保存結(jié)果集剖踊,然后再進行運用,實際上value保存到的結(jié)果是shell函數(shù)echo后面的結(jié)果
function sum()
{
echo
}
value='sum'
printf "%\n" "$value"