Linux shell 陣列

更新於 發佈於 閱讀時間約 4 分鐘

Linux shell 陣列

範例 1 : 重複執行同一件事
#設定陣列項目
#陣列長度判斷 ${#arr[@]}
arr_01=("cc" "cpu_lim_use" "cpu_lim_idle" "cpu_lim_load")

i=1
j=0
while [ $i -le ${#arr[@]} ]
do

new=f
#等於某一個值
set=${arr_01[$j]}
#設定為特定值
set_01=${arr[$i]}
list=`cat tmon.conf | grep $set_01 `
old=`cat tmon.conf | grep -w $set | grep -v '#' | awk -F \" '{print $2}'`
echo " "
echo "$i." $list
echo " 原設定 : " $old
read new

if [ "$new" == "" ] ; then
new=$old
else
sed -i -e "s/$set=\"$old\"/$set=\"$new\"/" tmon.conf
fi

new=`cat tmon.conf | grep -w $set | grep -v '#' | awk -F \" '{print $2}'`
echo " 新設定 : " $new
i=$(($i+1))
j=$(($j+1))

done
範例 2 : 檔案內容相似 , 只有部分需調整
a=(topprd toptst toppth topstd topprd-ws)

i=0
n=5

#陣列長度判讀 ${#a[@]}
for ((i=0;i < ${#a[@]};i++))
do
echo ${a[$i]}
b=${a[$i]}

#檔案內容寫入
cat << EOF > gas-$b.service
#20220309 v3.1.02 add ( for linux kernel )
# LimitSTACK=infinity
# LimitNOFILE=infinity
# TasksMax=2000000 ( memory not enough )

[Unit]
Description=Start Fastcgidispatch...

[Service]
EOF

#需調整部分調整後再寫入
cat << EOF >> gas-$b.service
ExecStart=/u1/genero/gas/bin/fastcgidispatch -s -f /u1/genero/as-$b.xcf
User=tiptop
Group=tiptop
Restart=always
#LimitNOFILE=130000 #20220309 mark
#202220309 add (s)
LimitNOFILE=infinity
LimitSTACK=infinity
TasksMax=2000000
#20220309 add (e)

[Install]
WantedBy=multi-user.target
EOF

chmod 664 gas-$b.service

done
範例 3 : 撈取字串轉存 陣列
IFS=':'

set -A array `env | grep CLASSPATH`
echo ${array[0]}

echo '' > 123.txt

for index in "${!array[@]}"
do
echo "$index ${array[index]}"
if [ "${array[index]}" != "" ] ; then
ls -l ${array[index]} >> 123.txt
fi
done
為什麼會看到廣告
avatar-img
2會員
24內容數
Linux 相關 指令 與 情境 分享
留言
avatar-img
留言分享你的想法!

































































work b的沙龍 的其他內容
du 不顯示 錯誤訊息在畫面 du 排序 依照 kb : du -s | sor -rn
Linux FAQ : ls , cp , rm Argument list too long 在使用 Linux 如大量檔案 ls 查看 cp 複製 rm 清理 可能會遇到了 Argument list too long 大約 10 萬筆以上檔案 就可能會看到此訊息
du 不顯示 錯誤訊息在畫面 du 排序 依照 kb : du -s | sor -rn
Linux FAQ : ls , cp , rm Argument list too long 在使用 Linux 如大量檔案 ls 查看 cp 複製 rm 清理 可能會遇到了 Argument list too long 大約 10 萬筆以上檔案 就可能會看到此訊息
你可能也想看
Google News 追蹤
Thumbnail
在網路速度有限的情況下,依序記錄不斷產生的資訊,能統計使用者在頁面上操作了哪些功能。
Thumbnail
本文將介紹一些常用的 Linux 指令,幫助新手快速上手。主要內容包括文件和目錄管理(如 ls、cd、mkdir)、檔案操作(如 cp、mv、rm)。通過這些指令的學習,使用者可以更快速地操作 Linux 系統。
CI 持續整合 CI目的是建立自動化專案打包。 CD 持續發表 將打包完成的專案,自動發布。
Thumbnail
GitLab為程式碼管理倉庫,且從8.0開始提供CI/CD。 安裝 更新套件索引 sudo apt update 安裝postfix sudo apt install ca-certifi​cates curl openssh-server postfix 切換目錄 cd /t
※ 需要做版本備份時: git init:初始化此資料夾,由git 開始追蹤版本控制。 git add:將檔案加入到暫存區。 git commit:把暫存區的內容提交到儲存庫。 git status:查看目前所有檔案的狀態。 git log:查看過去所有commit的記錄。 ※ 需要做修
※ 好用的陣列迭代器:forEach forEach 的使用時機: 需要從頭到尾把陣列中的每一個元素都印出來 ,就適合使用 forEach 方法。 forEach 的必要參數是一個函式: forEach() 的功能是把陣列的每個元素都丟進某個函式執行一次,因此必要的參數是一個函式。 語法:
Thumbnail
在本篇文章中,將會設定 Cloud Run,以便每當將程式修改並推送到 GitHub 時,它都會使用 Cloud Build 自動構建和部署應用程序的最新版本。
Thumbnail
分享在網路上看到的陣列題目。通常 for...of 的 value 是陣列中的每個值,那如果我們在迭代中對陣列操作會發生什麼事? 題目來源:https://x.com/_jayphelps/status/1774640511158022335?s=20
Thumbnail
語法: grep '^<starting-character>.*<ending-character>$' <file> grep 指令可以使用特殊字元的組合: 星號 ( * )、( $ ) 和 ( ^ )來過濾搜尋的內容。在我們的範例中,要使用 grep搜尋以特定字元開頭和結尾的內容,例如
Thumbnail
for,while,do while語法介紹 for loop for比較偏向固定圈數型的迴圈 語法 for(計數變數初值; 布林運算式 ; 增量運算) { : 一般指令; : }
Thumbnail
在網路速度有限的情況下,依序記錄不斷產生的資訊,能統計使用者在頁面上操作了哪些功能。
Thumbnail
本文將介紹一些常用的 Linux 指令,幫助新手快速上手。主要內容包括文件和目錄管理(如 ls、cd、mkdir)、檔案操作(如 cp、mv、rm)。通過這些指令的學習,使用者可以更快速地操作 Linux 系統。
CI 持續整合 CI目的是建立自動化專案打包。 CD 持續發表 將打包完成的專案,自動發布。
Thumbnail
GitLab為程式碼管理倉庫,且從8.0開始提供CI/CD。 安裝 更新套件索引 sudo apt update 安裝postfix sudo apt install ca-certifi​cates curl openssh-server postfix 切換目錄 cd /t
※ 需要做版本備份時: git init:初始化此資料夾,由git 開始追蹤版本控制。 git add:將檔案加入到暫存區。 git commit:把暫存區的內容提交到儲存庫。 git status:查看目前所有檔案的狀態。 git log:查看過去所有commit的記錄。 ※ 需要做修
※ 好用的陣列迭代器:forEach forEach 的使用時機: 需要從頭到尾把陣列中的每一個元素都印出來 ,就適合使用 forEach 方法。 forEach 的必要參數是一個函式: forEach() 的功能是把陣列的每個元素都丟進某個函式執行一次,因此必要的參數是一個函式。 語法:
Thumbnail
在本篇文章中,將會設定 Cloud Run,以便每當將程式修改並推送到 GitHub 時,它都會使用 Cloud Build 自動構建和部署應用程序的最新版本。
Thumbnail
分享在網路上看到的陣列題目。通常 for...of 的 value 是陣列中的每個值,那如果我們在迭代中對陣列操作會發生什麼事? 題目來源:https://x.com/_jayphelps/status/1774640511158022335?s=20
Thumbnail
語法: grep '^<starting-character>.*<ending-character>$' <file> grep 指令可以使用特殊字元的組合: 星號 ( * )、( $ ) 和 ( ^ )來過濾搜尋的內容。在我們的範例中,要使用 grep搜尋以特定字元開頭和結尾的內容,例如
Thumbnail
for,while,do while語法介紹 for loop for比較偏向固定圈數型的迴圈 語法 for(計數變數初值; 布林運算式 ; 增量運算) { : 一般指令; : }