博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
详解Linux bash变量
阅读量:4115 次
发布时间:2019-05-25

本文共 1165 字,大约阅读时间需要 3 分钟。

导读 Linux中编写SHELL脚本必然要接触到变量,本文对bash中不同的变量类型进行一个简要说明

%e6%97%a0%e6%a0%87%e9%a2%98

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

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

root@ubuntu:~# LIST='/etc'root@ubuntu:~# echo $LIST/etcroot@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个参数,默认踢掉一个参数
这里需要注意的是 010 10,而需要写成${10}。

特殊变量

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

#:获取当前shell命令行中参数的总个数*:获取当前shell的所有参数 “ 1 2 3IFS @:这个程序的所有参数 “ 1'' 2″ “ 3''IFS 0 获取当前执行的shell脚本的文件名 nshellnn=1..9 shellPID ! 执行上一个指令的PID

本文转载自:

免费提供最新Linux技术教程书籍,为开源技术爱好者努力做得更多更好:

你可能感兴趣的文章
laravel控制器与模型名称不统一
查看>>
vue登录拦截
查看>>
npm配置淘宝镜像仓库以及electron镜像
查看>>
linux设置开机自启动脚本的最佳方式
查看>>
VUE SPA 单页面应用 微信oauth网页授权
查看>>
phpstorm 集成 xdebug 进行调试
查看>>
npm和node升级的正确方式
查看>>
laravel事务
查看>>
springcloud 连续请求 500
查看>>
vue复用新增和编辑表单
查看>>
Ubuntu 16.04 apt-get更换为国内阿里云源
查看>>
laravel部署到宝塔步骤
查看>>
小程序获取access_token
查看>>
navicat远程连接mysql数据库
查看>>
tp5令牌数据无效 解决方法
查看>>
自己的网站与UCenter整合(大致流程)
查看>>
laravel 制作通用的curd 后台操作
查看>>
【小红书2017年笔试】求一个数组中平均数最大的子数组
查看>>
Linux基础系列-定时器与时间管理
查看>>
Linux基础系列-可执行程序的产生过程
查看>>