linux shell 日期问题

标签 linux shell date scripting

shell>/bin/date -d "091029 20:18:02" +%s
1256827682

同样,我创建了 shell 脚本:

#My.sh
myDate=`date +'%y%m%d_%H%M%S'`
myDate1=`echo $myDate | sed 's/_/ /g'`
myDate2=`echo $myDate1 | sed 's/\([0-9][0-9][0-9][0-9][0-9][0-9]\) \([0-9][0-9]\)\([0-9][0-9]\)\([0-9][0-9]\)/\/bin\/date -d "\1 \2:\3:\4" +%s/'`
print $myDate2
`$myDate2`

但它不执行上面的命令。为什么?

最佳答案

最后一行中的反引号执行命令,然后执行该命令的输出,这可能不是您想要做的——当我运行它时,我得到输出 -bash:1256829614:找不到命令。去掉最后一行的反引号,让它只显示

    $myDate2

关于linux shell 日期问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1644439/

相关文章:

linux - 如何测试文件中的某些字符

linux - ksh 函数返回值在括号中

sql - 在 SQL Server 中查找当前年份日期给定的上一年的同一天

shell - zsh 并不总是扩展路径

Python strftime 天数不带零

Java LocalDate 不接受所有 EpochDay 字段有效值

ruby-on-rails - 有人试过在 Ubuntu 中同时从 RVM 和 deb 安装 Ruby 吗?

linux - 如何使用 fio 删除驱动器?

c - 应用程序代码如何与内核代码通信?

macos - 在 Mac 上双击 shell 脚本