bash中的变量以及类型

简介:

一、本地变量:

只对当前shell进程有效,对其子shell以及其它shell均无效。

1、定义变量:[set] var_name=value;其中value支持强引用、弱引用、命令引用。

2、引用变量:${var_name}

3、撤销变量:unset var_name

3、$set:显示当前系统的所有变量(包括所有本地变量、局部变量和环境变量)。

二、局部变量:

仅对局部代码有效。

local var_name=value,value支持强引用、弱引用、命令引用。

三、环境变量:

对当前shell进程以及子shell有效。

1、定义变量:export(导出) var_name=value

2、#export:显示环境变量,也可以用命令#env,#printenv显示环境变量。

四、位置变量:

如/tmp/test.sh 2 89

$0:脚本本身,如上例/tmp/test.sh

$1:脚本的第一个参数,如上例2

$2:脚本的第一个参数,如上例89

$....$n

例:写一个脚本pos.sh,计算输入连个参数的之和。

#!/bin/bash

       echo "this sum is :$[$1+$2]"

执行./pos.sh 2 3,结果为 5

五、特殊变量:如$0:脚本名称本身

   $?:上一条命令的执行状态(0:成功;1-255:失败。)

   $$:后面再介绍

   $!:后面再介绍

   $#:当前脚本所有位置参数的个数

   $*:当前脚本所有位置参数明细

   $@:当前脚本所有位置参数明细

        例子:

        #!/bin/bash

        echo "this sum is :$[$1+$2]"

        echo $#

        echo $*

        echo $@

六、变量名命名要求:

只能使用数字、字母和下划线组成。

不能以数字开头

不能使用程序中的关键字

见名知意

七、read 交互式脚本:

例子:#!/bin/bash

      echo "Enter a Number:"

      read num1

      echo $num1

read 还有一个-p信息提示选项,则下面的脚本和上面的脚本一个意思,

      #!/bin/bash

      read -p "Enter a Number:" num1

      echo $num1

例子:read a b,就是交互式对变量a和b赋值

     如果回车后输入11 22,则a=11 b=22

     如果回车后输入11 22 33,则a=11 b=22 33,也就是说后面的值全给b


八、给变量设置默认值:

varName=${varName:-value}

如果varName不空,则其值不变,否则,varName会使用value为其值。


如:a=${a:-45},如果a的值为空,则给a赋值45,否则a的值不变。















本文转自lzf0530377451CTO博客,原文链接: http://blog.51cto.com/8757576/1547071,如需转载请自行联系原作者


相关文章
|
Shell
在Bash中检查变量是否为空的几种方法
在Bash中检查变量是否为空的几种方法
1887 0
在Bash中检查变量是否为空的几种方法
|
Shell
shell 命令(一)概述【别名、 bash重定向 、定义变量】
shell 命令(一)概述【别名、 bash重定向 、定义变量】
171 0
|
机器学习/深度学习 Unix Shell
Shell编程基础入门(Bash|变量与输入输出重定向2&1)
Shell编程基础入门(Bash|变量与输入输出重定向2&1)
287 0
|
Shell
【Shell编程】Shell中Bash变量-数值运算、运算符变量、测试和内容替换
【Shell编程】Shell中Bash变量-数值运算、运算符变量、测试和内容替换
192 0
|
Shell
【Shell编程】Shell中Bash变量-预定义变量
【Shell编程】Shell中Bash变量-预定义变量
255 0
|
Shell
【Shell编程】Shell中Bash变量-环境变量
【Shell编程】Shell中Bash变量-环境变量
211 0
|
机器学习/深度学习 Shell
【Shell编程】Shell中Bash变量-位置参数变量
【Shell编程】Shell中Bash变量-位置参数变量
213 0
|
Shell
【Shell编程】Shell中Bash变量-用户自定义变量
【Shell编程】Shell中Bash变量-用户自定义变量
174 0
|
Shell 数据库 数据安全/隐私保护
bash 只读/整形/数组 类型操作
bash 只读/整形/数组 类型操作
236 0
|
Shell Linux 程序员
Linux Bash Shell 中变量的 5 个易错点
Linux 中的 Bash 脚本支持对变量的操作,下面将介绍 Linux Bash Shell 中关于变量的5个易错点

热门文章

最新文章