目录
4、使用read赋值变量值,并输出,对选项-p、-n进行练习
7、输出重定向”>”,”>>”,输出到(自己姓名首拼).sh中
1.用命令的执行结果为变量赋值的两种方法`command ` 或 $(command ),哪个更好?
2.使用变量值的两种形式$variable_name 或 ${variable_name}区别是什么?
常用命令
1、定义变量(无引号、单引号、双引号)*注意区分单引号(不管是啥直接输出)和双引号(会先解析变量和命令)的区别 2、输出变量值(两种方法)、换行输出、不换行输出输出格式:默认无参数为换行输出,加入参数-n即可不换行输出 3、修改变量值,追加新内容,并输出4、使用read赋值变量值,并输出,对选项-p、-n进行练习参数:-p 显示提示信息 参数:-n 读取n个字符 5、输出去系统环境变量6、特殊变量的应用:$、?$变量:显示当前bash的进程号(PID) ?变量:返回上一个命令的状态码(0为成功,非0为失败或异常) 7、输出重定向”>”,”>>”,输出到(自己姓名首拼).sh中注意区分输出重定向时一个”>”和两个”>>”的区别,一个”>”是覆盖,两个是追加 8、输入重定向”<”练习(与ppt中不同的案例)9、管道”|”练习。 |
思考与讨论
1.用命令的执行结果为变量赋值的两种方法`command ` 或 $(command ),哪个更好?
$(command )与`command `(反引号)都是用来作命令替换的。命令替换与变量替
换差不多,都是用来重组命令行的,先完成引号里的命令行,然后将其结果替换出来,再
重组成新的命令行。
2.使用变量值的两种形式$variable_name 或 ${variable_name}区别是什么?
一般情况下,$variable_name与${variable_name}是没有区别的,但是使用
$variable_name会比较精确的界定变量名称的范围
3.如何验证变量的作用范围?
shell作用域有三种全局变量、局部变量、环境变量
- 全局变量:全局变量的作用域为当前的整个shell窗口,也就意味着两个不
的同的shell窗口中声明的全局变量是无法相互使用的,而shell脚本是shell窗口的
下级,一个shell窗口可以执行多个shell脚本,这多个shell脚本中的全局变量是可
以相互使用的。
- 局部变量:变量的作用域仅映射到shell函数的内部,我们知道在shell函中
定义一个默认的变量,在函数外部是可以取到他的值的,也就意味着该变量是一个全
局变量,那么局部变量则需要加入local命令,具体操作如下图:
- 环境变量:环境变量只在当前的shell窗口的主进程中可以使用,如果想要在
它的子进程中使用必须使用export命令,然后她的子进程就可以使用该环境变量
拓展实验
将管道、find、grep结合进行练习。
管道就是把前一个命令的输出作为后一个命令的输入