您的位置:首页 > 运维架构 > Shell

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. 用法示例:

      


四 环境变量

    环境变量如果再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. 输出结果:

 


    
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: