本文地址
分享提綱:
1. shell中的函數
2. shell中的數組
3. shell中的變量
4. shell中的運算符
5. Linux的一些命令
1. shell中的函數
1.1)【定義shell函數(define function)】
[ function ] funname [()] { action; [return int;] }
說明:
實例(testfun1.sh):
1 #!/bin/sh 2 3 fSum 3 2; 4 function fSum() 5 { 6 echo $1,$2; 7 return $(($1+$2)); 8 } 9 fSum 5 7; 10 total=$(fSum 3 2); 11 echo $total,$?; 12 13 sh testfun1.sh 14 testfun1.sh: line 3: fSum: command not found 15 5,7 16 3,2 17 1 18 5 testfun1.sh
從上面這個例子我們可以得到幾點結論:
1.2)【函數作用域,變量作用范圍】
先我們看一個實例(testfun2.sh ):
1 #!/bin/sh 2 3 echo $(uname); 4 declare num=1000; 5 6 uname() 7 { 8 echo "test!"; 9 ((num++)); 10 return 100; 11 } 12 testvar() 13 { 14 local num=10; 15 ((num++)); 16 echo $num; 17 18 } 19 20 uname; 21 echo $? 22 echo $num; 23 testvar; 24 echo $num; 25 26 sh testfun2.sh 27 Linux 28 test! 29 100 30 1001 31 11 32 1001 testfun2.sh
我們一起來分析下上面這個實例,可以得到如下結論:
2. shell中的數組
2.1)【數組的定義】
兩種方法
arr=(1 2 3 4 5) # 注意是用空格分開,不是逗號!!
和
array array[0]="a" array[1]="b" array[2]="c"
2.2)【數組的遍歷】
for var in ${ arr[@] }; do echo $var done
2.3)【數組其他】
-- 【讀取數組】
valuen=${array_name[n]} #獲取單個元素 echo ${array_name[@]} #獲取所有元素 # 取得數組元素的個數 length=${#array_name[@]} # 或者 length=${#array_name[*]} # 取得數組單個元素的長度 lengthn=${#array_name[n]}
3. shell中的變量
3.1)定義
your_name="runoob.com"
-- 不能有空格
--可以使用表達式賦值
for file in `ls /etc`
3.2)【使用變量】
your_name="qinjx" echo $your_name echo ${your_name}
-- 可以加 {}, 也可以不加
--【只讀變量】 readonly myUrl
--【刪除變量】 unset variable_name
3.3)【Shell 字符串】
-- 可以單引號或者雙引號,雙引號會解析變量
--獲取字符串長度
string="abcd" echo ${#string} #輸出 4
-- 截取字符串
string="runoob is a great site" echo ${string:1:4} # 輸出 unoo
-- 查找字符串
string="runoob is a great company" echo `expr index "$string" is` # 輸出 8
4. shell中的運算符
4.1)【基本運算符】
原生bash不支持簡單的數學運算,但是可以通過其他命令來實現,例如 awk 和 expr,expr 最常用。
#!/bin/bash val=`expr 2 + 2` echo "兩數之和為 : $val"
4.2)【關系運算符】
lt : litter than
gt: grater than
4.3)【字符串運算符】
-z 檢測字符串長度是否為0,為0返回 true。 [ -z $a ] 返回 false。 -n 檢測字符串長度是否為0,不為0返回 true。 [ -n $a ] 返回 true。 str 檢測字符串是否為空,不為空返回 true。 [ $a ] 返回 true。
4.4)【文件測試運算符】
文件測試運算符用於檢測 Unix 文件的各種屬性。
屬性檢測描述如下:
5.Linux的一些命令
5.1)【一些不太常見的命令】
-- 查看當前發行版本可以使用的shell:cat /etc/shells
5.2)【正則表達式】
基礎正則表達式(BRE)
5.3)【awk命令】
http://blog.csdn.net/shanyongxu/article/details/46563997
5.4)【xargs命令】
http://blog.csdn.net/shanyongxu/article/details/46859829
http://xxxxxx/Linuxjc/1190282.html TechArticle