linux shell编程1 - 环境与变量

1. 本地变量
本地变量的生命周期是当前进程中有效,如果在shell中启动令一个子进程或退出,此值无效。
var_name=value   #设置变量的值,返回var_name
var_name:=value  #如果如果没有值,则设置其值,返回var_name
echo $var_name   #显示变量
msg="Sorry this file does not exist ${name1}."#可以嵌套在字符串之中使用
unset var_name   #清除变量
set              #显示所有的变量


2. 环境变量
环境变量可以用于所有的子进程。
实际上就是使用export把本地变量导出为环境变量。注意子进程导出的环境变量不能用于父进程。
var_name=value
export var_name
echo $var_name   #其实所有的shell变量的访问都是一样的,可以是$var_name,还可以是${var_name}。
unset var_name   #清除变量
env              #显示所有的环境变量


3. 参数变量
该变量是特殊变量,因为她是只读。例如:$0,$1,$2,$3,......。
这些变量是用于向脚本传递参数的。第一个$0一般表示脚本名称,其后的表示参数字。
其实在执行一个脚本时,首先输入脚本名称,然后输入各个参数,而且都是以空格分开。

4. 特定变量
该变量是特殊变量,因为她是只读。一共有7个:$#,$*,$$,$!,$@,$-,$?。
这些变量是用于保存脚本执行过程中的信息。
比如执行脚本:./m aa bb ccc
$# 为3,表示传递到脚本的参数个数
$* 为字符串“aa bb ccc” ,与位置变量不同,此参数参数个数可以超过9个
$$ 表示当前进程ID号
$! 表示后台运行的最后一个进程的进程ID号
$@ 与$*相同,但是使用时加引号,并在引号中返回每个参数
$- 表示shell使用的当前选项,与set命令功能相同
$? 表示最后的退出状态。0表示没有错误,其它任何值表明有错误。





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值