Linux 下的 shell 编程之变量
2016-07-15 15:52
429 查看
Linux 中的变量大致分为四类:用户自定义变量,环境变量,位置参数变量,预定义变量四类,最常用的是前三类,其中位置参数变量也可以称为脚本变量,常用于脚本中
一 Linux 变量分类
1. 用户自定义变量: 用户可以进行CRUD操作, 作用域为当前shell, 脚本中定义的只能在脚本中使用
2. 环境变量: 主要保存的是和系统操作环境相关的变量,可以新增和修改
3. 位置参数变量: 主要是在脚本被调用的时候,接受脚本传递的参数,所以又可以称为脚本变量
4. 预定义变量: 系统的预制的一些变量
二 变量注意事项
1. 变量名词不能以数字开头,
2. 变量的类型都是字符串型, 要想进行数值运算需要使用$(( 1+2 ))
3. 变量定义=两边绝对不能有空格
4. 变量值可以使用特殊符号,转义符
5. 变量值可以是命令的结果,用反引号或者$()包含命令
6. 环境变量名称建议全部大写
三 用户自定义变量
用户自定义变量如果在shell窗口中使用,那么只对当前shell有效,对其子shell无效.
1. 定义: name=value
2. 引用: $name
3. 删除: unset name
4.查看: set , 会列出所有变量的信息,包括用户自定义变量,环境变量,预定义变量
5. 用法示例:
![](http://img.blog.csdn.net/20160715153630640)
四 环境变量
环境变量如果再shell窗口中设置,那么对当前shell和其子shell有效,如果写入配置文件,那么对所有shell生效.环境变量通常用于存储与系统相关的命令.
1. 定义1: export name=value, 定义新的环境变量
定义2: export name, 将用户自定义变量转换为环境变量
2. 引用: $name
3. 删除: unset name
4. 查看: env
5. 用法示例:
![](http://img.blog.csdn.net/20160715153634811)
五 预定义变量
1. 预定义变量举例:
![](http://img.blog.csdn.net/20160715154222159)
2. 用法示例
![](http://img.blog.csdn.net/20160715154232737)
六 位置参数变量
1. 位置变量:
![](http://img.blog.csdn.net/20160715154345033)
2. 用法示例:
#!/bin/bash
#脚本中使用位置参数变量的时候,$# 和 "$#"都行,要是想输出$#文件则需单引号
echo 'num $#:' $#
echo 'args $*:' $*
echo 'args $@:' $@
echo 'cmd $0:' $0
echo 'cmd $1:' $1
echo 'cmd $2:' $2
echo 'cmd $10:' ${10}
echo '============== $* ========================'
for i in "$*"
do
echo "arg:" $i
done
echo '============== $@ ========================'
for y in "$@"
do
echo "arg:" $y
done
3. 输出结果:
![](http://img.blog.csdn.net/20160715155214396)
一 Linux 变量分类
1. 用户自定义变量: 用户可以进行CRUD操作, 作用域为当前shell, 脚本中定义的只能在脚本中使用
2. 环境变量: 主要保存的是和系统操作环境相关的变量,可以新增和修改
3. 位置参数变量: 主要是在脚本被调用的时候,接受脚本传递的参数,所以又可以称为脚本变量
4. 预定义变量: 系统的预制的一些变量
二 变量注意事项
1. 变量名词不能以数字开头,
2. 变量的类型都是字符串型, 要想进行数值运算需要使用$(( 1+2 ))
3. 变量定义=两边绝对不能有空格
4. 变量值可以使用特殊符号,转义符
5. 变量值可以是命令的结果,用反引号或者$()包含命令
6. 环境变量名称建议全部大写
三 用户自定义变量
用户自定义变量如果在shell窗口中使用,那么只对当前shell有效,对其子shell无效.
1. 定义: name=value
2. 引用: $name
3. 删除: unset name
4.查看: set , 会列出所有变量的信息,包括用户自定义变量,环境变量,预定义变量
5. 用法示例:
四 环境变量
环境变量如果再shell窗口中设置,那么对当前shell和其子shell有效,如果写入配置文件,那么对所有shell生效.环境变量通常用于存储与系统相关的命令.
1. 定义1: export name=value, 定义新的环境变量
定义2: export name, 将用户自定义变量转换为环境变量
2. 引用: $name
3. 删除: unset name
4. 查看: env
5. 用法示例:
五 预定义变量
1. 预定义变量举例:
2. 用法示例
六 位置参数变量
1. 位置变量:
2. 用法示例:
#!/bin/bash
#脚本中使用位置参数变量的时候,$# 和 "$#"都行,要是想输出$#文件则需单引号
echo 'num $#:' $#
echo 'args $*:' $*
echo 'args $@:' $@
echo 'cmd $0:' $0
echo 'cmd $1:' $1
echo 'cmd $2:' $2
echo 'cmd $10:' ${10}
echo '============== $* ========================'
for i in "$*"
do
echo "arg:" $i
done
echo '============== $@ ========================'
for y in "$@"
do
echo "arg:" $y
done
3. 输出结果:
相关文章推荐
- 一样的思路 不一样的方式 shell脚本的方式
- -bash: crontab: command not found
- shell脚本wc命令详解!!需求输出结果
- shell脚本输出颜色字体
- shell脚本实现LLD监控
- shell反弹总结
- 通过PowerShell查看Exchange 版本
- 通过PowerShell查看Exchange 版本
- linux shell下除了某个文件外的其他文件全部删除的命令
- powershell加载mimikatz 抓密码 (无文件,躲过杀软,可以nc回显) 20160715
- shell命令统计文件内容行数和行首地址
- Linux学习_1(shell)
- shell
- Bash退出和退出状态码
- shell 脚本中for循环遍历数组
- Android开发——使用ADB Shell命令实现模拟点击(支付宝自动转账实现)
- Android开发——使用ADB Shell命令实现模拟点击(支付宝自动转账实现)
- shell去掉最后一个字符
- Bash引用变量和转义
- Linux Bash shell (for循环)