shell脚本输入月份显示当月月历
时间: 2023-10-23 08:20:27 浏览: 75
以下是一个简单的shell脚本,它接受用户输入的月份,并在终端上显示该月的月历:
```bash
#!/bin/bash
# 获取用户输入的月份
read -p "请输入月份(1-12):" month
# 检查输入是否合法
if ! [[ "$month" =~ ^[1-9]$|^1[0-2]$ ]]; then
echo "输入的月份不合法!"
exit 1
fi
# 显示月历
cal $month
```
脚本的实现很简单,首先使用read命令获取用户输入的月份(输入的范围为1-12),然后使用正则表达式检查输入是否合法。最后,使用cal命令显示月历。
相关问题
shell脚本显示当月最后一天
可以使用date命令结合一些参数实现:
```
#!/bin/bash
last_day=$(date -d "$(date +%Y-%m-01) +1 month -1 day" +%Y-%m-%d)
echo "本月最后一天为:$last_day"
```
解释一下:
- `date +%Y-%m-01` 表示获取当前日期的年份和月份,并将日期设置为1号。
- `+1 month` 表示在上述日期的基础上加一个月。
- `-1 day` 表示在上述日期的基础上减一天,即当前月份的最后一天。
- 最后使用 `+%Y-%m-%d` 格式化输出日期。
shell脚本输入命令
在shell脚本中,可以使用以下几种方式输入命令:
1. 直接在脚本中写入命令:在脚本文件中,使用对应的命令语法编写需要执行的命令。
2. 从标准输入读取命令:使用read命令从标准输入读取用户输入的命令,并将其赋值给一个变量。例如:
```
read command
$command
```
这样,用户在运行脚本时可以在命令行输入命令,脚本会读取并执行。
3. 从命令行参数获取命令:在脚本中使用$1、$2等参数变量来获取命令行传入的参数,然后将其作为命令执行。例如:
```
$1
```
这样,用户在运行脚本时可以通过命令行参数传入命令。