我需要在腳本執行結束時更新 shell 腳本中的源組態檔。我在 date_cfg.lkp 檔案中有默認日期。
'''
sdate=2021-12-09
'''
我的 shell 腳本檔案接受日期作為引數,它應該在上面的 date_cfg.lkp 檔案中增加日期并更新該日期,如果我不提供檔案,它就可以作業,但是如果我在腳本中獲取 lkp 檔案,它不會更新并且在命令列中也有相同的行為。:
'''
#!/usr/bin/bash
date1=$1
cfg=~/date_cfg.lkp
source $cfg
date1=$(date -d"$date1 1 day" "%Y%m%d")
date1=$(date1 -d $date1 "%Y-%m-%d")
echo $date1
echo $cfg_date
sed -c -i "s/\($sdate *= *\).*/\1$date1/" $cfg
'''
請幫助我更新存盤在 lkp 檔案中的 sdate 欄位,同時在腳本中增加日期,請注意我需要獲取檔案以讀取其他一些欄位。
uj5u.com熱心網友回復:
嘗試修改最后一行如下。
sed -c -i "s/$sdate/$date1/" $cfg
uj5u.com熱心網友回復:
你的 sed 命令不好:
sed -i "/sdate=/ s/.*/sdate=$date1/" date_cfg.lkp
命令中的 -c 是什么?我沒有這個arg。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/377572.html
上一篇:為什么我的.NetCore應用程式將.cshtml頁面上腳本標簽中的js檔案作為reactjs應用程式的一部分處理?
