二、shell-变量

一、环境变量

1.自定义环境变量

export 变量名=value
declare -x 变量名=value
变量名=value; export 变量名

2.环境变量初始化

/etc/profile –> ~/.bash_profile –> ~/.bashrc –> /etc/bashrc (系统登录)
~/.bashrc –> /etc/bashrc (远程登录)

二、普通变量

不加引号 : aa=pwd (不含空格,弱引用)
单引号: aa=’pwd’ (强引用)
双引号: aa=”pwd” (弱引用)
反引号: aa=`pwd` (先运行,类似$(pwd))

三、特殊变量

1.特殊位置变量

变量说明
$0当前脚本文件名,有路径则包含路径
$n第n个参数,n>9则为${n}
$#参数个数
$*加双引号为 “$1 $2 $3 … “
$@加双引号为 “$1” “$2” “$3” “…”

2.特殊状态变量

变量说明
$?上一条指令的状态返回值,为0成功,非0失败
$$当前脚本PID
$!上一个后台进程的PID
$_上一条命令或脚本的最后一个参数

3.变量子串

表达式说明
${var}返回$var的内容
${#var}返回$var的长度(按字符),也适用于特殊变量
${var:offset}返回$var从offset到结尾的子串
${var:offset:length}返回$var从offset开始length长度的子串
${var#word}返回从$var开头开始删除最短匹配的word子串
${var##word}返回从$var开头开始删除最长匹配的word子串
${var%word}返回从$var结尾开始删除最短匹配的word子串
${var%%word}返回从$var结尾开始删除最长匹配的word子串
${var/pattern/string}返回string代替第一个pattern后的子串
${var//pattern/string}返回string代替所有pattern后的子串

4.特殊扩展变量

说明: 表达式中’:’可选,表示为空

表达式说明
${var:-word}变量未定义返回word,否则返回$var
${var:=word}变量未定义返回word且$var=word,否则返回$var
${var:?word}变量未定义将word作标准错误返回,否则返回$var
${var:+word}变量未定义什么也不做,否则返回$var=word
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值