(5) 使用vi编辑器编写一段Shell程序,取名为mycal,实现与Linux中cal命令类似的功能,当输入: mycal [月份名] 年时,屏幕输出指定的年月的月历。 例如:$mycal October 2009屏幕输出2009年10月的月历。
时间: 2024-10-20 21:07:42 浏览: 24
要在vi编辑器中编写一个名为`mycal`的Shell脚本,你需要创建一个新的文件,通常在`~/.bashrc`或`~/bin`目录下,然后打开它并输入以下内容:
```bash
#!/bin/bash
# 检查是否传入了月份和年份作为参数
if [[ $# -ne 2 ]]; then
echo "Usage: mycal [month] year"
exit 1
fi
# 获取用户输入的月份和年份
month="$1"
year="$2"
# 使用date命令格式化输出月历,这里假设第一个字母大写的月份名是正确的
cal=$(echo "$year $month" | date +%B %Y)
# 打印结果
echo "Calendar for $month $year:"
echo "$cal"
```
保存文件后,记得设置文件的权限以便执行:
```sh
chmod +x ~/path/to/mycal.sh # 将路径替换为实际保存的文件位置
```
现在你可以运行这个脚本来查看特定月份的月历了:
```sh
./mycal October 2009
```
相关问题
vi编辑器实现与Linux中cal命令类似的功能,当输入: mycal [月份名] 年时,屏幕输出指定的年月的月历。 例如:$mycal October 2009屏幕输出2009年10月的月历。
在vi编辑器中实现类似cal命令的功能并不是直接内置的,因为vi主要用于文本编辑而非系统工具。不过,你可以通过编写shell脚本或者创建一个简单的交互式函数来模拟这种功能。下面是一个基本的步骤示例:
首先,在vi中,你需要创建一个新的文件(假设名为`mycal.vi`),然后使用`:source`命令加载外部命令脚本,或者将脚本内容直接写入这个文件。这里我们创建一个简单的bash脚本作为外部命令:
```bash
#!/bin/bash
# 检查参数
if [ $# -ne 2 ]; then
echo "Usage: mycal <month> <year>"
exit 1
fi
month=$1
year=$2
# 使用date命令生成日历
calendar=$(date -d "$month $year" +%b %Y)
echo "Month: $calendar\n"
cal "$year-$month"
```
保存并退出vi,然后在终端运行`:so mycal.vi`,就可以使用`mycal`命令了。例如,输入`:mycal October 2009`。
注意,这个例子依赖于系统的bash shell以及其提供的date命令,如果你的环境不支持,可能需要调整或替换相应的命令来获取月份和日期。
请编写一个程序:把程序build后生成的可执行文件(假设文件名为mycal.exe)放到c盘根目录下,在命令行提示符下,转到c:\下 ,键入mycal 100+200 运行的结果为 300.00;键入mycal 100*200 运行的结果为20000.00 等。 程序中的运算符与c语言中的运算符在字符上保持一致。计算结果保留小数点后两位有效数字。
题目要求编写一个程序:把程序build后生成的可执行文件(假设文件名为mycal.exe)放到c盘根目录下,在命令行提示符下,转到c:\\下,输入mycal 100+200 运行的结果为 300.00;输入mycal 100*200 运行的结果为 20000.00 等。程序中的运算符和C语言中的运算符在字符上保持一致。计算结果保留小数点后两位有效数字。
阅读全文