bash变量操作

1.条件变量替换:
Bash Shell可以进行变量的条件替换,既只有某种条件发生时才进行替换,替换
条件放在{}中.
(1) ${value:-word}
当变量未定义或者值为空时,返回值为word的内容,否则返回变量的值.
(2) ${value:=word}
与前者类似,只是若变量未定义或者值为空时,在返回word的值的同时将
word赋值给value
(3) ${value:?message}
若变量以赋值的话,正常替换.否则将消息message送到标准错误输出(若
此替换出现在Shell程序中,那么该程序将终止运行)
(4) ${value:+word}
若变量以赋值的话,其值才用word替换,否则不进行任何替换
(5) ${value:offset}
${value:offset:length}
从变量中提取子串,这里offset和length可以是算术表达式.
(6) ${#value}
变量的字符个数
(7) ${value#pattern}
${value##pattern}
去掉value中与pattern相匹配的部分,条件是value的开头与pattern相匹配
#与##的区别在于一个是最短匹配模式,一个是最长匹配模式.
(8) ${value%pattern}
${value%%pattern}
于(7)类似,只是是从value的尾部于pattern相匹配,%与%%的区别与#与##一样
(9) ${value/pattern/string}
${value//pattern/string}
进行变量内容的替换,把与pattern匹配的部分替换为string的内容,/与//的区
别与上同

注意:上述条件变量替换中,除(2)外,其余均不影响变量本身的值

2.变量的算术运算
在Bash Shell中,只能进行两个整数间的运算,其结果仍为整数.要进行算术
运算,需要使用let命令,语法为:
let expr
expr是一个包含项和操作符的表达式,项可以是一个变量或是一个整数常数,
当使用整数常数时,其默认为十进制整数,用户可以用radio#number来指定其它
形式的整数,其中radio定义了整数是几进制表示的,number是该整数的值.若
radio>10,那么数字字符可从0-9和A-Z.
在表达式中支持的操作符及其含义为:
+,-,*,/,% 加,减,乘,除,取模
>>,<<,&,^,| 左移,右移,位与,位异或,位或
?: 三元运算符.与C语言中的定义一致
~ 取补码
!,>=,<=,>,<,==,!=,&&,||
=,+=,-=,*=,/=,%=,<<=,>>=,&=,^=,|=
表达式式中也可以使用括号.括号或运算优先级的定义与一般计算机语言中的
相同.
let命令具有返回值.当计算结果(若有多个表达式时,以最后一个为准)为0时,
返回值为1,否则为0.
当表达式中含有shell的特殊字符(如|)时,需要用引用符(‘或")将其引用起来.
使用let时还需要注意的时,对于let x+y这样的式子,shell虽然计算了x+y的值
但却将结果丢弃,若不想这样,可以使用let sum=x+y将x+y的结果保存在变量sum中
另外还可以使用((和))操作符取代let命令,而且这样的话,还可以省去对算术
表达式的引用,如果想返回表达式的值,则需用$(())的格式.

时间: 2024-11-02 12:07:55

bash变量操作的相关文章

BASH系列(4)—— BASH变量操作

变量(字符串)变换 定义一个变量t,内容为framE [[email protected] tmp]# t=framE 查看变量t的内容:echo $t或者是echo ${t} [[email protected] tmp]# echo $t framE [[email protected] tmp]# 将变量t的首字母大写:echo ${t^} [[email protected] tmp]# echo ${t^} FramE [[email protected] tmp]#  将变量t的所有

马哥笔记第十六天故障排除、trap、sed、awk、bash数组、bash字符串操作

A.故障排除:             紧急救援模式:rescue,相当于一个小型的linux系统和让你切换到硬盘系统中. 1.grub损坏:                         谨慎操作 dd  if=/dev/zero of=/dev/sda count=1 bs=400   不能大于446,否则破坏分区表中数据.这时需要进入救援模式,选择Rescue installed system,选择语言.键盘设置.是否启用网络.继续continue.选择启动shell.使用chroot

bash的操作环境[转]

  Bash Shell 的操作环境: 是否记得我们登陆主机的时候,屏幕上头会有一些说明文字,告知我们的 Linux 版本啊什么的, 还有,登陆的时候我们还可以给予用户一些信息或者欢迎文字呢.此外, 我们习惯的环境变量.命令别名等等的,是否可以登陆就主动的帮我配置好? 这些都是需要注意的.另外,这些配置值又可以分为系统整体配置值与各人喜好配置值, 仅是一些文件放置的地点不同啦!这我们后面也会来谈一谈的! 路径与命令搜寻顺序 我们在第六章与第七章都曾谈过『相对路径与绝对路径』的关系, 在本章的前几

Linux 变量操作记录

变量操作总结: ${Var:-Value}        变量Var 为unset 或 null  则输出Value. 有值则输出变量Var的值. ${Var:=Value}        变量Var 为unset 或 null  则输出Value,并且赋值于变量Var. 同上. ${Var:+Value}        变量Var 为unset 或 null  则输出变量Var. 有值则输出Value. ${Var:?Value}        变量Var 为unset 或 null  则输出

Shell和bash变量类型

Shell 是面向过程的 (bash为例) 变量是进程的变量,进程结束,变量消失. bash变量类型:     环境变量     本地变量(局部变量):     位置变量     特殊变量 本地变量: set  VARNAME=VALUE      作用域为整个bash进程 局部变量:      local VARNAME=VALUE 作用域为当前代码段 环境变量:作用域为当前shell进程及其子进程 export VARNAME=VALUE or: VARNAME=VALUE export V

bash变量--学习笔记

十二.bash变量                变量(一段有名称的内存空间)   变量名(这段内存空间的名称)  向变量中存储数据的过程,称为赋值操作:  变量的类型: 整型    字符型    变量: 强变量:使用之前必须事先予以声明:必须声明变量类型   弱变量:在使用之前无需生命,不需要指明变量类型    注意:bash变量不需要定义变量类型,属于弱变量  变量的赋值方法:  VARNAME=VALUE     其含义:将某数值(VALUE)通过赋值操作(=)存储于特定的内存空间中(VA

bash颜色显示方案、bash配置文件及bash变量字符串处理

bash颜色的显示规则: 调用了ASCII编码对于颜色的设置方案: Ctrl键:\033 [:控制字符和颜色代码之间的分隔符: 所有的颜色代码都应该使用m结尾 颜色代码: 0:表示关闭颜色显示属性,恢复为黑白色: 1:加粗显示文本字符: 4:为文本字符添加下划线标识: 5:使文本字符闪烁: 7:将文本字符的背景颜色和前景颜色交换: 8:将文本字符的背景颜色设置为与前景色相同: 30-39:设置文本字符的前景色,38,39为保留暂时未被使用: 30为灰色:31为红色:32为绿色:33是黄色:34为

其他文本处理命令以及bash变量中的一些字符串的处理方法

其他的文本处理命令: 1.wc 2.cut命令: cut - 在文件的每一行中提取片断 注意:能够被cut修剪的文件或数据内容,一般是具有某种特定格式或结构的文本文件或数据内容: 如 :/etc/passwd 格式:cut [OPTION]... [FILE]... 常用选项: -d, --delimiter=DELIM:指定在实施修剪操作时所使用的字段分隔符号,默认是TAB(空白字符): -f, --fields=LIST:根据指定的字段分隔符号来指定要保留的字段编号列表: LIST可以称为字

bash变量的介绍

bash变量变量:一段有名称的连续的内存空间:这段内存空间的名称,称为变量名:在这段内存空间中存储的数据,则称为变量值: 程序 = 指令 + 数据 数据:文件,存在值: 向内存空间(变量)中存储数据的过程,称为赋值操作:赋值符号通常为"=": 变量的类型: 123 -- 整型:01111011 -- 字符型:ASCII:3字节 -- 字符型:UTF-8:9字节 变量: 强变量:使用之前必须事先予以声明:必须声明变量类型: 弱变量:在使用之前无需声明,无需指明变量类型:(bash变量)