Linux之bash变量和逻辑运算

本文详细介绍了Linux Bash shell中的变量类型,包括本地变量、环境变量、局部变量和位置参数变量,并探讨了变量的命名规范和赋值方式。此外,还讲解了特殊变量的用途以及算术和逻辑运算,包括算术表达式和逻辑测试命令,如test和[[]]表达式。通过示例展示了各种运算符和条件表达式的使用。
摘要由CSDN通过智能技术生成

什么是变量?

变量最初来源于数学,指的是非固定的值可变化的数通常用拉丁字母表示。在计算机中变量它依旧指的是可变化的数,只不过表现形式有些变化。它指的是变量名+所指向的内存空间

变量的特点

变量分强类型变量,与弱类型变量

强类型变量:变量需事先声明且需提前定义其变量存储格式

弱类型变量:不需事先声明,不需定义变量存储格式。

bash把所有变量统统视作字符型;bash中的变量无需事先声明,相当于,把声明和赋值过程同时实现。

 

变量名的命名规范

变量名只能包含数字字母下划线,而且不能以数字开头

其命名要求见名知义,命名机制遵循某种法则(驼峰法则)不能使用程序的保留字:if,else,then,while,for...


 

bash的变量类型及其使用格式

本地变量,环境变量,局部变量,位置参数变量,特殊变量

变量引用格式:$VAR、${VAR}

………………………………………………………………………………………………………………………

本地变量:作用域仅为当前shell进程

变量赋值:name=‘value’

value有如下引用类型

 

1、直接字符串引用,格式name="CHARS"

1

2

3

[root@centos7 ~]# name1=abc

[root@centos7 ~]# echo $name1 

abc

2、变量引用,格式:name=“$VAR”

1

2

3

[root@centos7 ~]# name2=$SHELL

[root@centos7 ~]# echo $name2

/bin/bash

3、命令引用,格式:name=`COMMAND` | name=$(COMMAND)

1

2

3

4

5

6

[root@centos7 ~]# name3=`date`

[root@centos7 ~]# echo $name3

2016年 08月 14日 星期日 11:16:55 CST

[root@centos7 ~]# name3=$(date)

[root@centos7 ~]# echo $name3

2016年 08月 14日 星期日 11:17:11 CST

“”:弱引用,其中的变量引用会被替换为变量值;

1

2

3

[root@centos7 ~]# name4="$name1"

[root@centos7 ~]# echo $name4

abc

‘’:强引用,其中的变量引用不会被替换为变量值,而保持原字符串;

1

2

3

[root@centos7 ~]# name5='$name1'

[root@centos7 ~]# echo $name5

$name1

命令set用于显示已定义的所有变量

撤销已定义的变量,格式:unset 变量名

1

2

3

4

5

[root@centos7 ~]# echo $name5

$name1

[root@centos7 ~]# unset name5

[root@centos7 ~]# echo $name5

[root@centos7 ~]#

在刚接触bash变量时特别容易搞错的就是变量的使用格式,有时候该命令引用却忘记加``或$(),还有就是强引用与弱引用的使用时机。

 

下面以例子说明本地变量的作用范围,使用命令bash进入子shell

1

2

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值