【发布时间】:2015-03-13 06:34:51
【问题描述】:
在我的 shell 脚本中,我定义了一些需要记录为 INFO、WARN 或 ERROR 的消息。
消息如下:
###### 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
我需要知道如何实现这一点的正确语法。
【问题讨论】:
标签: string bash parameters substitution