编写指定Shell脚本遇阻:cal命令调用与文件保存问题求助
Shell脚本实现步骤及问题说明
你当前编写的是C语言代码,但cal是Linux系统的外部命令,并非C标准库函数,因此C代码中直接调用会出现编译错误。你的需求是编写Shell脚本,而非C程序,以下是满足要求的完整实现方案:
完整Shell脚本代码
#!/bin/bash # 1. 询问用户出生年份并读取输入 echo "请输入你的出生年份(例如2020):" read birth_year # 2. 调用cal命令并将输出保存到calendar.txt cal "$birth_year" > calendar.txt # 3. 使用less显示文件内容 echo "正在显示你的出生年日历:" less calendar.txt # 4. 调用nano编辑器让用户修改文件顶部的出生年份为XXXX echo "请在nano编辑器中将文件顶部的出生年份修改为XXXX,完成后按Ctrl+O保存,Ctrl+X退出" nano calendar.txt # 5. 再次使用less显示修改后的文件内容 echo "正在显示修改后的日历文件:" less calendar.txt
关键命令说明
read birth_year:读取用户输入的内容并赋值给birth_year变量cal "$birth_year" > calendar.txt:cal命令用于生成指定年份的日历,>是输出重定向,将命令结果写入calendar.txt文件(覆盖原有内容)less calendar.txt:以分页方式查看文件内容,按q可退出查看nano calendar.txt:打开nano文本编辑器编辑指定文件,保存退出操作如脚本提示
脚本使用方法
- 将上述代码保存为
birth_cal.sh - 赋予脚本执行权限:
chmod +x birth_cal.sh - 运行脚本:
./birth_cal.sh
内容的提问来源于stack exchange,提问作者Alex
相关产品推荐
相关产品推荐

