news 2026/5/14 11:34:55

10、Shell编程中的参数传递与条件判断

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
10、Shell编程中的参数传递与条件判断

Shell编程中的参数传递与条件判断

1. 参数传递基础

在Shell编程里,学会处理传递给程序的参数能让程序变得更实用。当执行一个Shell程序时,Shell会自动把第一个参数存到特殊变量$1里,第二个参数存到$2里,依此类推。这些特殊变量也被叫做位置参数,它们是在Shell完成常规的命令行处理(像I/O重定向、变量替换、文件名替换等)之后才被赋值的。

1.1 修改程序以接受参数

以之前的run程序为例,原本它只能处理sys.caps文件:

$ cat run tbl sys.caps | nroff -mm -Tlp | lp

若要处理其他文件,可把对sys.caps的引用改成对第一个命令行参数的引用:

$ cat run tbl $1 | nroff -mm -Tlp | lp

执行时,在命令行输入文件名,如run new.hirenew.hire就会被存到$1里,Shell会把$1替换成这个文件名。

1.2 示例程序ison

下面的ison

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/11 23:37:29

Starward游戏启动器终极指南:高效管理米哈游全系游戏

Starward游戏启动器终极指南:高效管理米哈游全系游戏 【免费下载链接】Starward Game Launcher for miHoYo - 米家游戏启动器 项目地址: https://gitcode.com/gh_mirrors/st/Starward Starward游戏启动器是专为米哈游玩家设计的全能游戏管理工具,…

作者头像 李华
网站建设 2026/5/5 6:37:04

19、解析器中的冲突解决与错误处理技巧

解析器中的冲突解决与错误处理技巧 1. 语法冲突类型及解决方法 1.1 循环嵌套冲突(Shift/Reduce) 当语法中有两个嵌套的列表创建循环,且没有标点符号指示外部列表条目的边界时,就会出现这种冲突。例如以下语法: start: outerList Z ; outerList: /* empty */…

作者头像 李华
网站建设 2026/5/10 14:22:13

22、Shell 编程:别名、数组、作业控制与杂项特性

Shell 编程:别名、数组、作业控制与杂项特性 在 Shell 编程中,有许多实用且强大的功能可以帮助我们更高效地使用命令行。本文将详细介绍 Shell 中的别名、数组、作业控制以及一些杂项特性。 别名命令 别名(alias)是 Shell 提供的一种简写符号,用于自定义命令。当输入命…

作者头像 李华
网站建设 2026/5/11 5:47:18

抖音下载终极指南:高效获取无水印高清视频的完整方案

抖音下载终极指南:高效获取无水印高清视频的完整方案 【免费下载链接】douyin-downloader 项目地址: https://gitcode.com/GitHub_Trending/do/douyin-downloader 还在为抖音视频带有平台水印而困扰?想要保存喜欢的短视频却无法获得原始清晰版本…

作者头像 李华
网站建设 2026/5/9 11:40:33

23、Windows 8 启动故障排除与高级诊断工具使用指南

Windows 8 启动故障排除与高级诊断工具使用指南 1. Windows 8 启动故障排除 在使用 Windows 8 系统时,启动问题是常见的困扰。若无法启动到登录界面,电脑就无法正常使用。Windows 的启动系统在 Vista 系统时发生了显著变化,到 Windows 8 又有了新的改变,它提供了新的开始…

作者头像 李华
网站建设 2026/5/6 11:37:21

29、计算机问题解决与硬件诊断指南

计算机问题解决与硬件诊断指南 1. 在线求助与支持资源 在解决计算机问题时,有许多在线资源可以提供帮助,而且很多都是免费的。以下是一些实用的软件和网站: | 软件/工具 | 网址 | 功能描述 | | — | — | — | | Windows Memory Diagnostic | oca.microsoft.com/en/win…

作者头像 李华