Shell命令与脚本规则详解

需积分: 4 0 下载量 64 浏览量 更新于2024-09-16 收藏 10KB TXT 举报
本文将介绍Linux系统中的Shell常用规则和命令,包括环境变量、特殊字符、文件测试运算符以及字符串和变量的使用。了解这些基础知识对于日常的Linux操作和脚本编写至关重要。 首先,Shell是Linux操作系统中用户与系统交互的接口,它允许用户输入命令并执行。在Shell中,有一些重要的环境变量,例如: 1. `$HOME`:表示用户的主目录路径。 2. `$PATH`:定义了系统查找可执行文件的路径列表。 3. `$TZ`:设置时区信息。 4. `$MAILCHECK`:指定检查邮件的间隔时间。 5. `$PS1` 和 `$PS2`:分别定义了命令提示符和连续输入命令时的提示符。 6. `$MANPATH`:扩展了`man`命令搜索手册页的路径。 7. `$0`:当前Shell脚本的名字。 8. `$n` (n=1..9):用于保存命令行参数,如`$1`是第一个参数,`$2`是第二个参数,以此类推。 9. `$*`:包含所有命令行参数,作为一个整体。 10. `$#`:表示命令行参数的总数。 11. `$$`:当前进程的PID(进程标识符)。 12. `$!`:最近后台命令的PID。 13. `$?`:上一个命令的退出状态,成功则为0,失败则为非零值。 接下来,我们来看看Shell中的特殊字符及其作用: 1. `*`:匹配任意数量的字符。 2. `?`:匹配任意单个字符。 3. `[abc]`:匹配括号内的任一字符。 4. `[a-n]`:匹配a到n之间的任一字符。 5. `\`:转义字符,用于取消特殊字符的特殊含义。 6. `^`:表示不匹配。 7. `$`:表示行尾。 8. `.`:匹配任意单个字符,与`?`类似。 9. `\b`:单词边界。 10. `\c`:不换行输出。 11. `\f`:换页。 12. `\r`:回车。 13. `\t`:制表符。 14. `\v`:垂直制表符。 15. `\\`:双反斜杠,表示一个反斜杠。 16. `-f`, `-d`, `-e`, `-r`, `-w`, `-x`, `-o`, `-z`:用于文件测试,分别检查文件是否为普通文件、是否存在、可读、可写、可执行、具有其他权限、长度为零。 接着,是条件运算符的使用: 1. `-eq`, `-ne`: 比较整数是否相等或不等。 2. `-gt`, `-lt`: 比较整数是否大于或小于。 3. `-ge`, `-le`: 比较整数是否大于等于或小于等于。 还有字符串相关的操作: 1. `==`, `!=`: 字符串比较,等号两侧必须加引号。 2. `-z`: 测试字符串长度是否为0。 3. `-n`: 测试字符串长度是否不为0。 最后,了解变量的引用方式: 1. `$`:直接引用变量。 2. `$$`:引用变量的值,防止被Shell解释。 3. `"\$"`:在双引号内引用变量,保留其特殊含义。 4. `\'`:在单引号内引用,变量失去特殊含义。 5. `` ` ``:反引号内的命令会被先执行,结果作为字符串。 举例说明: 1. `echo $?`:显示上一条命令的退出状态。 2. `echo "$?"`:与`echo $?`相同,都是显示退出状态。 3. `echo '$?'`:输出 `$?` 字符串本身。 4. `echo "\$?"`:输出 `$` 字符串本身。 通过这些基本概念和用法,你可以更有效地在Linux环境中工作,并编写出更加高效的Shell脚本。