Shell - 变量

1. 变量定义

定义变量时,变量名不加美元符号($)如:
name=“1234A”

注意事项:
(1)变量名和等号之间不能有空格
(2)变量名的命名遵循如下规则:
首个字符必须为字母(a-z,A-Z)。
中间不能有空格,可以使用下划线(_)。
不能使用标点符号。
不能使用bash里的关键字(可用help命令查看保留关键字,set查找出来也不用)。

2. 变量的赋值:

(1)显式地直接赋值(可以重复为变量赋值):
name=“你好”

(2)语句给变量赋值,如:
name=`expr 2 + 2` #以上语句将 2 + 2的值给变量,注意其中的空格,必须要有

3. 使用变量

使用一个定义过的变量,必须在变量名前面加美元符号,如:
echo $name
echo ${name}

变量名外面的花括号是可选的,加花括号是为了帮助解释器识别变量的边界,比如下面这种情况:

name="A"
echo "beicai$name班" #错误写法
echo "beicai${name}班" #正确写法

4. 只读变量(readonly)

使用 readonly 命令可以将变量定义为只读变量,只读变量的值不能被改变。
下面的例子尝试更改只读变量,结果报错:

#!/bin/bash
name="1511A"
readonly name
name="haha"

运行脚本,结果如下:
./readonly: line 4: name: readonly variable。

5. 删除变量(unset)

使用 unset 命令可以删除变量。语法:
unset variable_name

变量被删除后不能再次使用。unset 命令不能删除只读变量。

#!/bin/bash
name="1511A"
unset name
echo $name

以上实例执行将没有任何输出。

6. 变量类型:(局部变量(常用)、环境变量)

运行shell时,会同时存在三种变量:
(1)局部变量 该称为自定义变量。局部变量在脚本或命令中定义,仅在当前shell实例中有效,其他shell启动的程序不能访问局部变量。
(2)环境变量, 该也称为系统变量。所有的程序,包括shell启动的程序,都能访问环境变量,有些程序需要环境变量来保证其正常运行。必要的时候shell脚本也可以定义环境变量。

可使用set命令查看:
[root@hadoop01 hadoop]# set
BASH=/bin/bash
BASHOPTS=checkwinsize:cmdhist:expand_aliases:extquote:force_fignore:hostcomplete:interactive_comments:progcomp:promptvars:sourcepath
BASH_ALIASES=()
BASH_ARGC=()
BASH_ARGV=()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值