关于Linux bash 中的变量

在 Linux 系统中进行日常运维或者是编写脚本时,变量是再熟悉不过的了,但这些变量都有哪些类型,具体的用法又有哪些差异呢?本文整理分享给大家:

一、bash 变量类型:
本地变量
局部变量
环境变量运维
位置变量
特殊变量(内置)

二、本地变量:
varname=value:作用域为整个 bash 进程可以使用;
变量命名规范:
1. 只能含字母、数字和下划线,并且以字母和下划线开头
2. 最好不要跟系统已有的环境变量重名
3. 见名知意

三、局部变量:
local varname=value:作用域为当前代码段;

四、环境变量:
作用域为当前 shell 进程及其子进程,不能影响到其父进程;
export varname=value “导出”,如果变量已经定义可以只是用变量名 export varname,即
1. export varname=value
2. varname=value
export varname
脚本在执行命令时会启动一个子 shell 环境变量:
系统自动执行的脚本(非命令行启动)就需要自我定义需要的个环境变量;

五、位置变量:
$1,$2,$3,……
cat first.sh test.txt hello
$1: first.sh
$2: test.txt
$3: hello
shift:踢掉参数
shift n:踢掉 n 个参数,默认踢掉一个参数

六、特殊变量:
$?:上一个命令执行状态的返回值:

程序执行可能有两种返回值:
1. 程序执行结果
2. 程序状态返回吗(0-255)
0 则为执行正确
1-255 则执行出错(1,2,127 系统预留);

$#:获取当前 shell 命令行中参数的总个数
$*:获取当前 shell 的所有参数 “$1 $2 $3 …,受 IFS 控制
$@:这个程序的所有参数 “$1″ “$2″ “$3″ “…”,不受 IFS 控制
$0 获取当前执行的 shell 脚本的文件名
$n 获取当前执行的 shell 脚本的第 n 个参数值,n=1..9
$$ 获取当前 shell 的进程号(PID)
$! 执行上一个指令的 PID

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值