专业编程基础技术教程

网站首页 > 基础教程 正文

shell——变量介绍2

ccvgpt 2024-08-19 12:28:27 基础教程 9 ℃

Shell变量

  Shell中也采用变量,用来存放字符串。没有众多存储类及类型的限制,也不需要预先定义、然后才能赋值,可以在使用时“现定义、现赋值”。

shell——变量介绍2

  1.用户定义的变量

  用户定义的变量是最普通的Shell变量。变量名是以字母或下线符打头的字母、数字和下线符序列,并且大小写字母意义不同。

如dir与Dir是不同的变量。这与C语言中标识符的定义相同。

变量名的长度不受限制。

  定义变量并赋值的一般形式是:

  变量名=字符串

  例如:

[hadoop@localhost ~]$ mm=/usr/dzz
[hadoop@localhost ~]$ echo mm
mm
[hadoop@localhost ~]$ echo $mm
/usr/dzz
[hadoop@localhost ~]$ echo "$mm"
/usr/dzz

  注意,在赋值语句中,赋值号“=”的两边没有空格,否则在执行时会引起错误。

  一个未明确赋过值的变量仅含一个空字符串。

  在程序中使用变量的值时,要在变量名前面加上一个符号“$”。例如,

  可以将一个命令的执行结果赋值给变量。有两种形式的命令替换:一种是使用倒引号引用命令,其一般形式是: `命令表`。

  例如:

[hadoop@localhost ~]$ dir=`pwd`将当前工作目录的全路径名存放到变量dir中
[hadoop@localhost ~]$ echo $dir
/home/hadoop
[hadoop@localhost ~]$ dir1=(`pwd`)另一种形式是:$(命令表)。上面的命令行也可以改写为
[hadoop@localhost ~]$ echo $dir1
/home/hadoop

4.交互输入变量值

  利用read命令可以从键盘上读取数据,然后赋给指定的变量。read命令的一般格式是:

read 变量1 [ 变量2 …]

  例如:

read a b c

  输入数据时,数据间以空格或制表符作为分隔符。如果变量个数与给定数据个数相同,则依次对应赋值;

如果变量个数少于数据个数,则从左至右对应赋值,但最后一个变量被赋予剩余的所有数据;

如果变量个数多于给定数据个数,则依次对应赋值,而没有数据与之对应的变量取空串。

[hadoop@localhost ~]$ read a b c
11 22 33 44
[hadoop@localhost ~]$ echo "$a $b $c"
11 22 33 44
[hadoop@localhost ~]$ read a b c
11 22
[hadoop@localhost ~]$ echo "$a $b $c"
11 22
[hadoop@localhost ~]$ echo "$a $b $c--"
11 22 --

2022-9-19

Tags:

最近发表
标签列表