一、定义变量(无引号、单引号、双引号)
- 用“=”连接变量名和变量值
- 设置变量值时,“=”左右不能直接连接空格
- 如果 value 不包含任何空白符(例如空格、Tab 缩进等),那么可以不使用引号;
- 如果 value 包含了空白符,那么就必须使用引号包围起来。
- 单引号' '包围变量的值时,单引号里面是什么就输出什么,原样输出。
- 双引号" "包围变量的值时,输出时会先解析里面的变量和命令,而不是把双引号中的变量名和命令原样输出。
二、输出变量值(两种方法)、换行输出、不换行输出
- 输出使用变量值
- 两种形式:$variable_name 或 ${variable_name}
- 使用echo 命令测试
- 换行输出、不换行输出
- 加上 -n 不换行输出,不加 -n 换行输出
三、修改变量值,追加新内容,并输出
修改变量值(三种方法)
- 已定义的变量,重新赋值。第二次对变量赋值时不能在变量名前加$,只有在使用变量时才能加$。
- 追加新内容,并输出,为变量追加新内容,用“$variable_name ”或 ${variable_name } 的形式
- 用命令的执行结果为变量赋值:`command ` 或 $(command )
四、使用read赋值变量值,并输出,对选项-p、-n进行练习
- read 是 Shell 内置命令,用来从标准输入中读取数据并赋值给变量。
- -p 显示提示信息
- -n 读取规定变量的字符,而不是整行字符
五、输出去系统环境变量
- 使用env和export命令查看系统当前的环境变量
六、特殊变量的应用:$、?
- $:查看当前Bash的进程号(PID)
- ?:返回上一个命令的状态码,一般用0表示成功,非0表示失败或异常
七、输出重定向“>”,“>>”,输出到wlh.sh(自己姓名首拼)中
- 输入“>”并且后跟一个文件名,对原文件的内容进行了“覆盖”,即清空原文件内容
- 输入两个大于号“>>”并且后跟一个文件名,表示在原文件的基础上“追加”新内容
八、输入重定向“<”练习
- 将原来从键盘输入的数据改为从文件读取
- 命令 < 文件1 :将文件1中的内容作为输入
- 命令 < < END :从标准输入中读取数据,直到遇见分界符END才停止
- 命令 <文件1> 文件2:命令把文件1的内容作为标准输入,把文件2作为标准输出
九、管道“|”练习。
- 一个命令的输出成为另一个命令的输入
- 使用管道符号“|”连接两个命令,左侧命令的输出成为右侧命令的输入
十、将管道、find、grep结合进行练习。