详解shell变量

变量是计算内存的单元,其中存放的值可以改变,当Shell脚本需要保存一些信息时,如一个文件名或是一个数字,就把它存放在一个变量中。每个变量有一个名字,所以很容易引用它,下面为大家详细讲解一下shell中的变量。

详解shell变量

Bash变量类型

  1. 本地变量
  2. 局部变量
  3. 环境变量
  4. 位置变量
  5. 特殊变量(内置)

这里需要注意的是对变量进行赋值时,”=”两边是不能有空白的,否则就会报错。

root@ubuntu:~# LIST='/etc'
root@ubuntu:~# echo $LIST
/etc
root@ubuntu:~# LIST = '/etc'
LIST: command not found

本地变量

var_name=value:作用域为整个bash进程可以使用; 变量命名规范:

  1. 只能含字母、数字和下划线,并且以字母和下划线开头。
  2. 最好不要跟系统已有的环境变量重名。
  3. 变量名可充分体现这个变量的作用。

局部变量

声明局部变量使用“local”命令,局部变量作用域只在作用范围内有效。 local var_name=value:作用域为当前代码段

环境变量

作用域为当前shell进程及其子进程,不能影响到其父进程,声明环境变量使用“export”命令

export var_name=value

,如果变量已经定义可以只是用变量名 export var_name,即可用下面两种方式声明环境变量: \1. export var_name=value \2. var_name=value export var_name 脚本在执行命令时会启动一个子shell环境变量: 系统自动执行的脚本(非命令行启动)就需要自我定义需要的个环境变量

位置变量

$1$2$3,……
cat first.sh test.txt hello
$1: first.sh
$2: test.txt
$3: hello

shift:踢掉参数 shift n:踢掉n个参数,默认踢掉一个参数 这里需要注意的是为调用该脚本的名字,而参数作为变量的话第个变量不能直接写10,而需要写成${10}。

特殊变量

$?:上一个命令执行状态的返回值: 程序执行可能有两种返回值: \1. 程序执行结果 \2. 程序状态返回吗(0-255) 0 则为执行正确 1-255 则执行出错(1,2,127系统预留); 可以自定义返回值来获取不同的错误状态。

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

以上就是良许教程网为各位朋友分享的Linux系统相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多干货等着你 !

img
本文由 良许Linux教程网 发布,可自由转载、引用,但需署名作者且注明文章出处。如转载至微信公众号,请在文末添加作者公众号二维码。
良许

作者: 良许

良许,世界500强企业Linux开发工程师,公众号【良许Linux】的作者,全网拥有超30W粉丝。个人标签:创业者,CSDN学院讲师,副业达人,流量玩家,摄影爱好者。
上一篇
下一篇

发表评论

联系我们

联系我们

公众号:良许Linux

在线咨询: QQ交谈

邮箱: yychuyu@163.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部