shell 取传入参数的上月末日期
时间: 2024-12-18 10:36:26 浏览: 7
在Shell脚本中,获取传入参数的上月末日期通常需要结合当前日期和一些算术运算。你可以使用`date`命令和一些条件判断来实现这个功能。这里是一个简单的示例:
```bash
#!/bin/bash
# 获取用户输入的日期参数,如果没有提供默认取当前日期
if [ -z "$1" ]; then
input_date=$(date +%Y-%m-%d)
else
input_date="$1"
fi
# 计算上个月的最后一天
last_month_date=$(date -I -w $input_date) -1 month +1 day -1 second" +%Y-%m-%d)
echo "上月最后一天的日期是: $last_month_date"
```
在这个脚本中,`date +%Y-%m-%d`用于获取日期字符串格式,`-d`选项用于指定日期差值(这里是减去一个月),`+1 day`是为了加上一整天到月底,再减一秒去掉时间部分。
如果你想通过命令行运行此脚本并传入参数,例如:
```sh
./script.sh 2023-02-28
```
它将返回2023年02月的最后一天(假设没有闰年)。如果不带参数,则默认使用当前日期。
阅读全文