我正在尝试在 unix 中运行脚本。这是一个我需要运行两个不同月份的模拟。为此,脚本的以下部分至关重要。谁能告诉我这是什么意思吗?
set JUL = $today:e
set CAL = $today:r
set YESTERDAY = `echo ${CAL} | awk '{printf("%2.2d",$1-1)}'`
答案1
您提供的代码片段脱离了上下文,因此很难说出它在您正在做的事情的更大方案中意味着什么,但是:
set JUL = $today:e
创建一个调用JUL
该变量内容的变量$today
,使用 tcsh 或 csh 修饰符 ( :e
) 删除除$today
.
set CAL = $today:r
创建一个变量,调用CAL
该变量的内容$today
,使用 tcsh 或 csh 修饰符 ( :r
) 删除扩展名,但保留根名称$today
我猜 $today 是特定于某个时间的日志文件?或类似的东西。
最后一行:
set YESTERDAY = `echo ${CAL} | awk '{printf("%2.2d",$1-1)}'`
YESTERDAY
创建echoing 结果的变量$CAL
,并用于awk
打印 $CAL 中包含的数字,减去 1(结果大概是昨天的日期)。