小编had*_*des的帖子

无论天数如何,获取上个月

在 Linux 中,我可以通过使用上个月获得

date -d "last month" '+%Y%m'
Run Code Online (Sandbox Code Playgroud)

或者

date -d "1 month ago" '+%Y%m'
Run Code Online (Sandbox Code Playgroud)

但是说,今天是 3 月 31 日,如果我在顶部运行命令,它会显示 201603,但是无论我现在在哪一天,我都想得到上个月;我该怎么做?

我可以通过使用像获取上个月的第一天/最后一天这样的解决方法来实现这一点,但我想知道有没有什么优雅的方法可以做到这一点?

 date -d "-$(date +%d) days" '+%Y%m'     #get last day of previous month
Run Code Online (Sandbox Code Playgroud)

linux date

5
推荐指数
1
解决办法
3万
查看次数

日期“1 个月前”在 AIX 中不起作用

在机器 A(运行 Oracle Linux Server 6.4 版)中,我可以使用以下命令智能地获取 1 个月前的日期:

$(date -d"1 month ago" '+%Y0%m')
Run Code Online (Sandbox Code Playgroud)

但它在机器 B(AIX) 中不起作用,有没有其他方法可以实现这一点?两者都在.sh文件中并运行:

sh Test.sh
Run Code Online (Sandbox Code Playgroud)

机器 B 中显示的错误:

date: illegal option -- d
Usage: date [-u] [+Field Descriptors]
Run Code Online (Sandbox Code Playgroud)

aix shell-script

2
推荐指数
1
解决办法
4119
查看次数

为什么我们需要在 /dev/null 2>&1 中有 2>&1?

我在 linux 脚本中看到有一个命令参数> /dev/null 2>&1,我知道它是将输出重定向到 null,意味着将其静音。我也知道 0,1,2(STDIN、STDOUT、STDERR)的编号,但我不明白为什么需要这条线?

2>&1
Run Code Online (Sandbox Code Playgroud)

基本上我想知道有什么区别

>/dev/null
Run Code Online (Sandbox Code Playgroud)

>/dev/null 2>&1
Run Code Online (Sandbox Code Playgroud)

shell bash io-redirection

1
推荐指数
1
解决办法
2万
查看次数

标签 统计

aix ×1

bash ×1

date ×1

io-redirection ×1

linux ×1

shell ×1

shell-script ×1