LINUX shell编程.doc
### LINUX Shell 编程知识点详解 #### 一、Shell 程序简介 Shell 是 Linux 系统中连接用户与操作系统内核之间的桥梁。它既是一个命令解释器,也是一门高级的脚本语言,允许用户通过编写脚本来实现自动化任务。 **Shell 脚本的执行方式**: - 用户可以将一系列的命令写入到一个文件中,这个文件即为 Shell 脚本。 - 执行 Shell 脚本时,Linux 会按照文件中定义的顺序依次解释并执行这些命令。 **查看系统支持的 Shell**: - 使用 `cat /etc/shells` 命令可以查看系统中安装的所有 Shell。 - 使用 `echo $SHELL` 可以查看当前用户的默认 Shell。 #### 二、Shell 变量 Shell 变量是用于存储数据的标识符,根据其作用范围和用途的不同,可以分为不同的类型: 1. **本地变量**: - 仅在当前 Shell 生命周期内的脚本中有效。 - 定义方法:`variable-name=value`。 - 查看所有本地变量:`set`。 - 设置只读变量:`readonly variable-name`。 - 查看只读变量:`readonly`。 2. **环境变量**: - 对所有用户进程有效,通常用于环境配置。 - 针对单个用户设置:`$HOME/.bash_profile` 或 `$HOME/.bashrc`。 - 针对所有用户设置:`/etc/profile`。 - 设置环境变量:`export VAR_NAME=value`。 - 查看当前环境变量:`env` 或 `export`(不带参数)。 3. **位置变量**: - 用来接收脚本运行时传入的参数。 - `$0` 表示脚本本身的名字,`$1`, `$2`, ... 表示依次传递给脚本的参数。 4. **标准变量**: - Bash 自带的一些环境变量,可以在 `/etc/profile` 中定义。 - 常见的标准变量包括: - `IFS`:设置字段分隔符。 - `HOME`:设置用户的家目录。 - `PATH`:定义可执行文件的搜索路径。 - `PS1`, `PS2`:定义提示符。 5. **特殊变量**: - 用于控制或获取关于变量的信息。 - `declare`:用于声明或显示变量。 - `-f`:只显示函数名。 - `-r`:创建只读变量。 - `-x`:创建导出变量。 - `-i`:创建整数变量。 #### 三、Shell 参数 在 Shell 编程中,可以像使用命令一样接受参数,并且可以区分位置参数和内部参数。 1. **位置参数**: - 通过 `$N` 获取,其中 `N` 是数字,从 1 开始。 - `$0` 代表脚本名称。 - `$1`, `$2`, ... 代表依次传入的参数。 2. **内部参数**: - 特殊变量,用于提供有关脚本执行状态的信息。 - `$#`:传递给程序的总参数数目。 - `$?`:上一个命令的退出状态码。 - `$*`:所有参数组成的字符串。 #### 四、变量表达式 在 Shell 脚本中,可以通过使用 `test` 命令来进行比较操作,这在条件判断中非常有用。 1. **字符串比较**: - `=`:测试两个字符串是否相等。 - `-z`:测试字符串是否为空。 - `-n`:测试字符串是否非空。 - `-e`:测试文件是否存在。 2. **数字比较**: - `-eq`:等于。 - `-ne`:不等于。 - `-gt`:大于。 - `-lt`:小于。 3. **逻辑操作**: - `!`:逻辑非。 - `-a`:逻辑与。 - `-o`:逻辑或。 4. **文件操作**: - `-f`:判断是否为普通文件。 - `-d`:判断是否为目录。 - `-s`:判断文件是否为空。 通过以上知识点的学习,可以有效地掌握 Shell 脚本的基础语法和常用技巧,进而利用这些技能来开发更复杂的自动化脚本和应用程序。
剩余8页未读,继续阅读
- 粉丝: 0
- 资源: 3
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助