作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在编写一个需要进行一些日期字符串操作的 shell 脚本。该脚本应该在尽可能多的 *nix 变体中工作,因此我需要处理机器可能具有 BSD 或 GNU 版本的日期的情况。
测试操作系统类型的最优雅的方法是什么,以便我可以发送正确的日期标志?
编辑:
澄清一下,我的目标是使用日期的相对日期计算工具,这些工具在 BSD 和 GNU 中似乎不同。
BSD 示例
date -v -1d
date --date="1 day ago"
最佳答案
你想检测什么版本的date
您正在使用的命令,不一定是操作系统版本。
GNU Coreutils date
命令接受 --version
选项;其他版本没有:
if date --version >/dev/null 2>&1 ; then
echo Using GNU date
else
echo Not using GNU date
fi
关于shell - 如何在 shell 脚本中检测 BSD 与 GNU 版本的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8747845/
我是一名优秀的程序员,十分优秀!