【Shell编程】Shell中Bash变量-数值运算、运算符变量、测试和内容替换

简介: 【Shell编程】Shell中Bash变量-数值运算、运算符变量、测试和内容替换

declare声明变量类型

语法:declare [*/-][选项] 变量名

选项 说明
- 给变量设定类型属性
+ 取消变量的类型属性
-i 将变量声明为整数型
-x 将变量声明为环境变量
-p 显示指定变量的被声明的类型


数值运算

方法一-declare声明变量


方法二-expr或let数值运算工具

注意+号俩测必须有空格

方法三-“$((运算符))”或“$[运算式]”

单小括号括起来是系统命令
双小括号或者中括号括起来的是数值计算

运算符

数值越高优先级越高

优先级 运算符 说明
13 -,+ 单目负,单目正
12 !,~ 逻辑非,按位取反或补码
11 *,/,% 乘,除,取模
10 +,- 加,减
9 <<,>> 按位左移,按位右移
8 <=,>=<,> 小于或等于、大于或等于,小于,大于
7 ==,!= 等于,不等于
6 & 按位与
5 ^ 按位异或
4 | 按位或
3 && 逻辑与
2 || 逻辑或
1 =,+=,-=,*=,/=,%=,^=,|=,<<=,>>= 赋值,运算且赋值


测试和内容替换

变量置换方式 变量y没有设置 变量y为空值 变量y设置值
x=${y-新值} x=新值 x为空 x=$y
x=${y:-新值} x=新值 x=新值 x=$y
x=${y+新值} x为空 x=新值 x=新值
x=${y:+新值} x为空 x为空 x=新值
x=${y=新值} x=新值 y=新值 x为空 y值不变 x=$y y值不变
x=${y:=新值} x=新值 y=新值 x=新值 y=新值 x=$y y值不变
x=${y?新值} 新值输出到标准错误输出(就是屏幕) x为空 x=$y
x=${y:?新值} 新值输出到标准错误输出 新值输出到标准错误输出 x=$y
目录
相关文章
|
11天前
|
存储 Shell Linux
八、Linux Shell 脚本:变量与字符串
Shell脚本里的变量就像一个个贴着标签的“箱子”。装东西(赋值)时,=两边千万不能有空格。用单引号''装进去的东西会原封不动,用双引号""则会让里面的$变量先“变身”再装箱。默认箱子只能在当前“房间”(Shell进程)用,想让隔壁房间(子进程)也能看到,就得给箱子盖个export的“出口”戳。此外,Shell还自带了$?(上条命令的成绩单)和$1(别人递进来的第一个包裹)等许多特殊箱子,非常有用。
67 2
|
7月前
|
网络协议 Shell 网络安全
面试官想听的不仅是命令——如何结构化回答“容器无Shell时如何测试外网”?
“说说看,如果一个Pod的容器没有Shell,如何测试它能否访问外网?”
面试官想听的不仅是命令——如何结构化回答“容器无Shell时如何测试外网”?
|
12月前
|
存储 Java Shell
Shell 变量
10月更文挑战第2天
104 1
shell脚本变量 $name ${name}啥区别
shell脚本变量 $name ${name}啥区别
|
Unix Shell Windows
随笔:What is Bash? What is shell?
随笔:What is Bash? What is shell?
165 1
|
Java Shell Linux
Shell 变量设置
Shell设置变量
183 5
|
12月前
|
Java Unix Shell
Shell 基本运算符
10月更文挑战第3天
76 0
|
算法 测试技术 Python
Python接口自动化测试框架(基础篇)-- 有点意思的运算符
这篇文章介绍了Python中的各种运算符,包括算术运算符、比较运算符、赋值运算符、逻辑运算符、成员运算符、位运算符和身份运算符,并讨论了运算符的优先级,以及序列类型的相关知识。
61 0
Python接口自动化测试框架(基础篇)-- 有点意思的运算符
|
Shell
[shell]在curl测试的data参数中引用变量
[shell]在curl测试的data参数中引用变量
489 1
|
Java Shell Linux
Shell 变量设置25-1
Shell编程语言是一种非类型的解释型语言,无需像C++/Java那样事先声明变量。通过赋值即可定义变量,在Linux支持的所有Shell中均适用。变量分为局部变量与环境变量,前者仅限于定义脚本内使用,后者可在其派生的子进程中使用。常见系统变量如$0表示当前程序名称,$n表示第n个参数(n=1,2,...,9),$*代表所有参数,$#代表参数个数,$?表示命令执行后的状态(0为成功),$UID为当前用户ID,$PWD表示当前目录。定义变量如`A=123`,
94 0

热门文章

最新文章