【问题标题】:Make a datetime variable static将日期时间变量设为静态
【发布时间】:2021-11-25 10:28:46
【问题描述】:

我有一个循环调用另一个脚本的脚本。 下面是一个示例/草稿脚本。

test3.sh

for i in "${array[@]}";do
sh test4.sh
done

在 test4.sh 脚本中发生了如下情况:

  LogFileDateFormat=%Y%m%d_%H%M%S
    GetDateTime=`date +$LogFileDateFormat`
    LogDirectory="/cred/logs"
    LOG_FILE=$LogDirectory/test4_$GetDateTime.log
.
.Do Something >> $LOG_FILE
.

现在每次从 test3.sh 调用循环时,都会创建一个新日志,因为日志名称会附加日期和时间。 我只想将日志写入单个文件。

我想到了一些计数器机制,但我又不能将 LOG_FILE 限制为一个名称。

【问题讨论】:

  • 将来自 test3(循环外)的日期/文件名作为参数传递给 test4。
  • 谢谢@Socowi ..我想了很多事情..但这并没有打动我。 :)
  • 也许尝试在数组之前声明一个带有日志文件路径的变量,并将其作为参数传递给脚本
  • @Amit :每次都会创建新文件,因为您已经为变量提供了时间戳:%Y%m%d_%H%M%S

标签: bash shell loops datetime static


【解决方案1】:

在 test3.sh 中进行日志记录:

logfile=...... 
for  i in "${array[@]}";do
  sh test4.sh >>$logfile
done

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-10-18
    • 2017-08-24
    • 1970-01-01
    • 1970-01-01
    • 2020-03-29
    • 2013-05-04
    • 1970-01-01
    相关资源
    最近更新 更多