應用場景:
手上有批量執行的腳本主要用來部署上傳打包好的程序.所以問題來了:
- 如何讀取所有腳本?
- 如何修改文本中類似version="xxx"中的xxx?
- 如何執行腳本時不需要輸入密碼?
思路:
讀取文件列表list,然后循環讀取利用for循環,在循環體做你想要的邏輯
代碼實現:
#!/usr/bin/env bash
for entry in "$search_dir"/home/xiejinbin/code/mercury/web/setup/*.sh
do
echo "$entry"
echo $entry
#這里是version='xxx'替換成了version='0.8'
sed -i 's/version=".*"/version="0.8"/' $entry
#這里是在aaa上一行加入bbb
sed -i '/sshUser="aaa"/i\sshPass="bbb"' $entry
#利用sshpass無需手動填密碼
sed -i 's/ssh -t/sshpass -p ${sshPass} ssh -t/' $entry
sh $entry
done