shell变量与脚本

 目录

常用命令

1、定义变量(无引号、单引号、双引号)

2、输出变量值(两种方法)、换行输出、不换行输出

3、修改变量值,追加新内容,并输出

4、使用read赋值变量值,并输出,对选项-p、-n进行练习

5、输出去系统环境变量

6、特殊变量的应用:$、?

7、输出重定向”>”,”>>”,输出到(自己姓名首拼).sh中

8、输入重定向”<”练习(与ppt中不同的案例)

9、管道”|”练习。

思考与讨论

1.用命令的执行结果为变量赋值的两种方法`command ` 或 $(command ),哪个更好?

2.使用变量值的两种形式$variable_name  或  ${variable_name}区别是什么?

3.如何验证变量的作用范围?

拓展实验


常用命令

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命令,然后她的子进程就可以使用该环境变量

拓展实验

将管道、findgrep结合进行练习。

管道就是把前一个命令的输出作为后一个命令的输入

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值