在我的shell腳本中,我定義了幾條需要記錄爲INFO,WARN或ERROR的消息。字符串bash中的參數替換
的消息如下:
###### This may not be correct syntax as I need to know this #######
BACKUP_INFO="File {} is compressed at path {}."
ERROR_FILE_NOT_EXIST="File {} doesn\'t exist."
OTHER_ERROR="Cannot backup File {}, Reason: {}"
我有一個方法來記錄在文件中這樣的信息:
function print_info() {
echo -e "$(date +'%F %T') ${SCRIPTNAME}: INFO: ${*}" | tee -a ${LOGFILE};
}
現在我需要通過我的消息的方法打印信息在這樣一個第一個參數應放在第一個{}處,第二個參數放置在第二個{}處,等等。
即使我想聲明我的消息
BACKUP_INFO="File $FILE_NAME is compressed at path $BACKUP_DIR."
但問題是變量FILE_NAME和BACKUP_DIR是在方法內部,消息是全局定義。
有點我想用它,如下圖所示:
print_info $BACKUP_INFO $FILE_NAME $FILE_PATH
使輸出應是
2015-03-13 07:05:05 : INFO: File /opt/mgtservices/relay.log is compressed at path /root/backup
我需要知道正確的語法,我怎麼能做到這一點。