Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Linux 系統教學 >> Linux 教學

Linux Shell 陣列建立與操作完全指南:定義、讀取、分片、替換

編輯:Linux 教學

Linux Shell 在程式設計面遠勝 Windows 批次檔,陣列操作功能強大。本文總結陣列常用操作技巧。

1. 陣列定義

a=(1 2 3 4 5)
echo $a          # 1(僅第一個元素)
echo ${a[@]}     # 1 2 3 4 5(全體元素)

用 () 定義,元素以空白分隔。

2. 讀取與賦值

操作語法範例
取得長度${#a[@]} 或 ${#a[*]}5
讀取單一元素${a[索引]}${a[2]} → 3(索引從 0 開始)
讀取所有元素${a[@]} 或 ${a[*]}1 2 3 4 5
賦值/修改a[索引]=值a[1]=100 → 1 100 3 4 5
新增元素a[新索引]=值a[5]=100 → 1 100 3 4 5 100
刪除單一元素unset a[索引]unset a[1] → 1 3 4 5(長度變 4)
刪除整個陣列unset a陣列消失

3. 進階操作

分片

a=(1 2 3 4 5)
echo ${a[@]:0:3}   # 1 2 3(從索引 0 取 3 個)
echo ${a[@]:1:4}   # 2 3 4 5(從索引 1 取 4 個)

c=(${a[@]:1:4})    # 加上 () 變成新陣列
echo ${#c[@]}      # 4
echo ${c[*]}       # 2 3 4 5

語法:${陣列[@或*]:起始:長度},回傳字串(空白分隔),加 () 可轉為新陣列。

替換

a=(1 2 3 4 5)
echo ${a[@]/3/100}   # 1 2 100 4 5(不改原陣列)
echo ${a[@]}         # 1 2 3 4 5

a=(${a[@]/3/100})    # 重新定義才會修改
echo ${a[@]}         # 1 2 100 4 5

語法:${陣列[@或*]/搜尋/替換},不改變原陣列,需重新定義才生效。

Shell 陣列已支援長度、索引、分片、替換、刪除等核心操作,日常腳本開發綽綽有餘。

Copyright © Windows教程網 All Rights Reserved