shell--函式與陣列
文章目錄
1.函式
1.1函式作用範圍
函式在shell指令碼中僅在當前shll環境中有效,
shell指令碼中變數預設全域性有效
若將變數限定在函式內部使用,在變數前加local命令
1.2定義函式操作
[function] 函式名() {
命令序列
[return x]
}
function可省略
return x:x為數值,即執行完返回一個值,0或非0值
1.3遞迴函式
呼叫自己本身的函式
#!/bin/bash
# digui
list()
{
for f in `ls $1`
do
if [ -d "$1/$f" ];
then echo "$f"
list "$1/$f" "$2"
else
echo "$2$f"
fi
done
}
list "/var/log" " "
2.陣列
陣列包含的資料型別:
數值型別
字元型別
使用""或’'定義
2.1陣列定義方法
①:陣列名=(value0 value1 value2...)
②:陣列名= [0]=value [1]=value [2]=value
③:列表名="value0 value1 value2"
陣列名=($列表名)
④:陣列名[0]="value"
陣列名[1]="value"
陣列名[2]="value"
2.2獲取陣列長度
echo ${陣列名[*/@]} ##陣列內容
echo ${#陣列名[*/@]} ##陣列內容個數
echo ${陣列名[下標]} ##獲取陣列中某個下標的值。下標:$0.$1.$2
2.3陣列遍歷
for v in ${陣列名[*/@]} ##v:變數名
do
echo $v
done
2.4陣列切片
${陣列名[*/@]:起始位置:長度}
例:a=1 2 3 4 5
${a[@]:0:2} ##表示從$0開始,長度為2,即內容為1、2
2.5陣列的替換
不替換原先陣列內容,僅在輸出時替換輸出顯示
${陣列名[*/@]/查詢字元/替換字元}
2.6陣列刪除
a=1 2 3 4 5
unset a ##刪除
2.7氣泡排序
vi num.sh
#!/bin/bash
# 氣泡排序
num=(60 30 50 20 100 70)
for ((i=1;i<${#num[*]};i++))
do
for ((j=0;j<${#num[*]}-$i;j++))
do
if [ ${num[$j]} -gt ${num[(($j+1))]} ]
then
temp=${num[$j]}
num[$j]=${num[(($j+1))]}
num[(($j+1))]=$temp
fi
done
done
echo ${num[*]}
3.shell指令碼除錯
①echo命令
②bash命令
sh [-nvx] 指令碼名
選項:-n:不會執行該指令碼,並檢查語法
-v:執行時,先將內容輸出到螢幕再執行指令碼
-x:將執行內容輸出到螢幕上
③set命令
set -x:開啟調節模式
set +x:關閉調節模式
相關文章
- 陣列排序函式-php陣列函式(一)陣列排序函式PHP
- 陣列,函式與指標 詳解陣列函式指標
- JS-陣列、函式、類與物件JS陣列函式物件
- 陣列二:使用陣列可變函式為陣列排序陣列函式排序
- PHP 陣列常用函式PHP陣列函式
- 陣列處理函式陣列函式
- 陣列展平函式陣列函式
- 巧用 PHP 陣列函式PHP陣列函式
- PHP 陣列函式妙用PHP陣列函式
- php陣列函式小結PHP陣列函式
- PHP陣列函式彙總PHP陣列函式
- 陣列常用函式彙總陣列函式
- 精通javascript 函式和陣列JavaScript函式陣列
- PHP常見陣列函式與例項[基礎]]PHP陣列函式
- PHP:常用PHP陣列操作函式PHP陣列函式
- PHP陣列函式-array_mapPHP陣列函式
- JavaFX教程-函式、陣列、表示式和操作Java函式陣列
- webgl內建函式--幾何函式與矩陣函式Web函式矩陣
- 陣列對換,print函式傳參陣列函式
- JavaScript陣列操作函式方法詳解JavaScript陣列函式
- TS定義陣列 ts宣告函式陣列函式
- 重新學習一下陣列函式陣列函式
- 二維陣列排序函式array_multisort()陣列排序函式
- Python全棧Web(JavaScript函式、陣列)Python全棧WebJavaScript函式陣列
- PostgreSQL:陣列——型別、運算子和函式SQL陣列型別函式
- js陣列去重、扁平化函式JS陣列函式
- 7.PHP陣列和字串常用函式PHP陣列字串函式
- 字元陣列的幾個應用函式字元陣列函式
- 從PL/SQL儲存函式返回陣列SQL儲存函式陣列
- go 陣列傳遞給函式三種方式Go陣列函式
- 怎麼快速記憶系統陣列函式陣列函式
- 理解Underscore中的uniq(陣列去重)函式陣列函式
- 總結一些常用的陣列函式陣列函式
- JavaScript學習筆記(二)——函式和陣列JavaScript筆記函式陣列
- PHP中array_chunk() 函式如何分割陣列PHP函式陣列
- 第二篇 使用 numpy函式建立陣列函式陣列
- 【MATLAB】利用size()函式輸出陣列大小Matlab函式陣列
- PHP開發之自定義函式及陣列PHP函式陣列