You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

编写指定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文本编辑器编辑指定文件,保存退出操作如脚本提示

脚本使用方法

  1. 将上述代码保存为birth_cal.sh
  2. 赋予脚本执行权限:chmod +x birth_cal.sh
  3. 运行脚本:./birth_cal.sh

内容的提问来源于stack exchange,提问作者Alex

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 14:18:17