Shell脚本:变量

Shell脚本:变量,第1张

Shell脚本:变量 6、变量

变量即在程序运行过程中它的值是允许改变的量
变量是用一串固定的字符来表示不固定的值的一种方法
变量是一种使用方便的占位符,用于引用计算机内存地址,该地址可以存储 script 运行时可更改的程序信息
在 shell 中变量是不能永久保存在系统中的,必须在文件中声明

变量的定义规则

eg:your_name=“runoob.com”

注意,变量名和等号之间不能有空格,这可能和你熟悉的所有编程语言都不一样。
同时,变量名的命名须遵循如下规则:
命名只能使用英文字母,数字和下划线,首个字符不能以数字开头。
中间不能有空格,可以使用下划线(_)。
变量名称格式定义:
WESTOS_LINUX
Westos_Linux
westoS_Linux
不能使用标点符号。
不能使用bash里的关键字(可用help命令查看保留关键字)。

变量的定义方式 基本方式

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

name='haiyan'    #注意等号两边不要留空格
echo $name 
echo ${name}     #推荐使用, 
ehco $name+$name

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

for skill in Ada Coffe Action Java; 
	do
		echo "I am good at ${skill}script"
done

如果不给skill变量加花括号,写成echo "I am good at $skillscript",解释器就会把$skillscript当成一个变量(其值为空),代码执行结果就不是我们期望的样子了。推荐给所有变量加上花括号,这是个好的编程习惯。已定义的变量,可以被重新定义

命令执行的结果赋值给变量

交互式定义变量(read)

选项释义-p定义提示用户的信息-n定义字符数(限制变量值的长度)-s不显示(不显示用户输入的内容)-t定义超时时间,默认单位为秒(限制用户输入变量值的超时时间)

举例说明:

[root@localhost ~]# read -p "请输入你的IP地址:" IP   #交互式定义变量
请输入你的IP地址:

[root@localhost ~]# cat ip.txt 
10.10.30.99
[root@localhost ~]# read -p "请输入你的IP地址:" IP < ip.txt   #通过输入重定向给变量赋值
[root@localhost ~]# 

定义有类型的变量(declare)

目的:给变量做一些限制,固定变量的类型,例如:整形、只读

用法:declare 选项 变量名=变量值

选项释义举例-i将变量看成整数declare -i A=123-r定义只读变量declare -r B=hollo-a定义普通数组;查看普通数组-A定义关联数组;查看关联数组-x将变量通过环境导出declare -x AAA=123456 等于 expore AAA=123456

举例说明:

[root@localhost ~]# declare -i A=123  #-i表示整形
[root@localhost ~]# echo $A
123
[root@localhost ~]# A=hello
[root@localhost ~]# echo $A
0

[root@localhost ~]# declare -r A=123  #-r表示只读
[root@localhost ~]# A=hello
-bash: A: 只读变量

简单的四则运算

默认情况下,shell只能支持简单的整数运算

运算内容:加+,减-,乘*,除/,求余数%

表达式举例$(())echo $((1+1))$[]echo $[10-5]exprexpr 10/5letn=1;let n+=1 等价于 let n=n+1

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5720211.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-18
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存