生活资讯
shell变量 、shell变量赋值
2023-04-04 16:54  浏览:34

Shell之环境变量、局部变量

变量可分为两类:

环境变量又被称为全局变量,可以在创建的shell以及任意子进程shell中使用。局部变量只能在创建的shell脚本中使用。

环境变量用于定义Shell的运行环境,保证Shell命令的正确执行,Shell通过环境变量来确定登录的用户名、登录目录等。所有的环境变量都是系统的全局变量,可用于所有的子进程中。

环境变量可以在命令行中设置,但用户退出后这些变量值也会随之丢失,所以***在下面的文件或者目录中配置,每次用户登录都将会被初始化:

环境变量可用在任意的Shell进程中,环境变量名一般大写,并且是已经使用export内置命令进行了导出。比如HOME、PATH、UID、USER等,在用户登陆之前已经本/bin/login程序设置好了。

下面是常见的系统环境变量:

更多详情请通过env命令查看:

如果设置想自己设置环境变量,有临时生效和永久生效两种:

在.bash_profile或者/etc/profile文件中使用export导出变量,然后使用"."或者source命令使其生效。

系统的内置的环境变量或者自定义的环境变量可以通过echo或者printf进行打印:

对于有哪些变量使用env(上述已经说过)或者set命令:

使用unset取消变量,不要随意使用,尤其是系统环境变量:

局部变量的生命周期是当前的Shell脚本,如果启动另一个Shell进程或者退出当前Shell进程,变量就会丢失。

局部变量又三种定义方式:

变量名一般以字母、数字、下划线组成,其中以字母开头。

为了更好的说明上面定义的三种方式,即不加引号、加单引号、加双引号的区别,以下面的例子说明:

上述a、b、c输出为:

在上面的基础上如果变成下面的例子:

a、b、c的输出有时什么呢?

从上面的例子中可以看出***种定义a变量的方式(不带引号),内容一般为简单连续的数字、字符串等;第二种定义b变量的方式(单引号)所见即所得,内容原样输出;第三种定义c变量的方式(双引号),输出变量时引号中变量会经过解析后输出。

所以,脚本中单纯的数字可以不使用引号,但是其它普通字符串尽量使用双引号。

系列教程:

Python虚拟环境搭建-学习视频教程-腾讯课堂ke.qq.com

什么事位置变量?shell的变量类型有哪些种?

比如要运行的程序是test.sh

test.sh 1 2 3 a b

上边的 1 2 3 a b传递到脚本里就是位置变量 $1 $2 $3 $4 $5

shell的变量基本上分为:全局变量,本地变量(或叫局部变量)。

Shell是一个用C语言编写的程序,它是用户使用Linux的桥梁。Shell既是一种命令语言,又是一种程序设计语言,涵盖的知识点多且杂,却是云计算开发人员必须要掌握的技术之一。接下来就给大家梳理一下Shell变量相关的知识。

扩展资料:

实际上Shell是一个命令解释器,它解释由用户输入的命令并且把它们送到内核。不仅如此,Shell有自己的编程语言用于对命令的编辑,它允许用户编写由shell命令组成的程序。Shell编程语言具有普通编程语言的很多特点,比如它也有循环结构和分支控制结构等,用这种编程语言编写的Shell程序与其他应用程序具有同样的效果。

参考资料来源:百度百科-Linux Shell

shell变量的使用及输入输出

(1),命名只能使用英文字母,数字和下划线,首个字符不能以数字开头。

(2),中间不能有空格,可以使用下划线(_)。

(3),不能使用标点符号。

(4),不能使用bash里的关键字(可用help命令查看保留关键字)

shell的变量只有字符串类型,所以当不用引号引起来的时候,要暴走变量的值不包含特殊符号,如空格,美元符,符.

使用一个定义过的变量,只要在变量名前面加美元符号即可,如:

使用 readonly 命令可以将变量定义为只读变量,只读变量的值不能被改变。

运行:

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

示例

运行:

(1)单引号

单引号里的任何字符都会原样输出,单引号字符串中的变量是无效的

(2)双引号

双引号里可以有变量,也可以出现转义字符

(1)定义数组

方法一:

方法二:

(2)读取数组内容

(3)获取数组长度

结果:

结果:

(1).输入不在终端显示

read -p "Input passwd:" -s Passwd

echo $Passwd

(2)限时输入,否则退出

延迟五秒,没有输入将自动退出:

read -p "Input a number:" -t 5 Number

(3) 读取限定字符

从输入中取 5 个字符:

read -p "Input a word:" -n 5 Word

可以被认为是一种重定向符.重定向脚本文件中的一行作为一个命令输入.

操作符被放在输入重低昂小的命令之后,紧跟在的各行作为命令的输入,输入的结尾通过文件结束符(ctrl+D)表示,也可以自己定义定界符,定界符后的单词作为输入各行借宿的定界符.

shell变量有哪两种?分别如何定义?

shell变量包括两种变量

1.本shell私有的变量:通过赋值语句定义好的变量,可以通过如下方法定义shell变量

A1="1234"

delcare A2="2345"

2.用户的环境变量:通过export语法导出的shell私有变量,可以通过如下方法导出用户环境变量

A1="1234"

export A1 #先定义再导出

export A3="34"

导出成的用户环境变量可以在所有的shell中看到

env显示用户的环境变量;

set 显示当前shell的定义的私有变量,包括用户的环境变量,按变量名称排序;

export 显示当前导出成用户变量的shell变量,并显示变量的属性(是否只读),按变量名称排序;

declare 同set 一样,显示当前shell的定义的变量,包括用户的环境变量;

shell变量的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于shell变量赋值、shell变量的信息别忘了在本站进行查找喔。

发表评论
0评