Bash变量扩展修改符

1、未设置就临时替换(:-)

冒号:用来检验变量是否设置过,如果没有冒号,则认为设置过,不替换
$fruit=peach
$echo ${fruit:-plum}
peach

$fruit=
$echo ${fruit:-plum}
plum

$echo $fruit
$

2、未设置就永久替换(:=)

$name=
$echo ${name:=Peter}
Peter

$echo $name
Peter

3、设置了就临时替换(:+)

$foo=grapes
$echo ${foo:+pears}
pears
$echo $foo
grapes

4、未设置就打印消息(:?)

$echo ${namex:?"namex is undefined"}
namex: namex is undefined

$echo name=${1:?"requires an argument"} //适用于脚本中检测位置参量
1: requires an argument

echo ${y?}
y: parameter null or not set //打印默认消息

5、子字符串(:m:n)

$var=notebook

$echo ${var:0}
notebook

$echo ${var:0:4}
note

$echo ${var:4:4}
book

时间: 2024-10-10 03:22:20

Bash变量扩展修改符的相关文章

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

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

ReadOnly关键字修饰的变量可以修改,只是不能重新分配

MSDN 官方的解释 readonly 关键字是可以在字段上使用的修饰符.当字段声明包括 readonly 修饰符时,该声明引入的字段赋值只能作为声明的一部分出现,或者出现在同一类的构造函数中. 很多初学者看完书就会认为,readonly修饰的变量在以后是不能修改的,在以后的开发中从不对ReadOnly的变量进行修改操作,形成思维定势,这个观念是错误的. 首先要明确一点:更改!=重新分配(赋值) 对于简单类型(如int),更改是等于重新赋值,因为默认操作符只有=, 但于对于复杂类型,就不一定了.

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

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

linux之bash变量

bash变量之高级部分 1.变量扩展 ${变量名称}                     变量扩展                          例如:${filename} $(命令)                            命令替换                          例如:$(ls /) $((算术式))                       算式扩展                          例如:$((9+9)) 变量扩展:一种简易的条

Bash变量

1.变量类型 Bash变量有两种:局部变量和环境变量 局部变量:局部变量的范围仅在创建它的Shell中有效 环境变量:能为创建它的Shell及其派生子进程所用的变量,也经常被称为全局变量,一般约定环境变量为大些,它们是那些可以通过内置命令export导出的变量. 2.变量命名 变量名必须以字母或下划线开始,其余部分则可以由字符.数字或下划线构成.变量名中不能含有点字符.. 大小写敏感 给变量赋值时,不要在等号两边留下空格.格式为: #variable=value 当变量值含有空格时,必须使用引号

Linux环境变量的修改(永久,暂时)

Linux修改环境变量,很简单但很重要 一.Linux的变量种类 按变量的生存周期来划分,Linux变量可分为两类: 1. 永久的:需要修改配置文件,变量永久生效. 2. 临时的:使用export命令行声明即可,变量在关闭shell时失效. 二.设置变量的三种方法 1. 在/etc/profile文件中添加变量[对所有用户生效(永久的)] 用VI在文件/etc/profile文件中增加变量,该变量将会对Linux下所有用户有效,并且是“永久的”. 例如:编辑/etc/profile文件,添加CL

C/C++ const变量的修改

C语言中的const是运行时const,编译时只有定义,只用在运行时才会初始化,这也是为什么const不能用来定义数组的原因,并且const的值也是可以动态修改的. C++中的const是编译时const,故能够用来初始化数组,企图修改const的值是未定义的,如果要修改const的值只能改变const变量的声明方式为 const volatile c=10. 测试用例: const int ci=10; int *j =(int *)&ci; *j=100; printf("%d,%d

Shell基础-Bash变量-用户自定义变量

变量设置规则: 变量名称可以由字母.下划线和数字组成,但是不能由数字开头. 在Bash中变量的默认类型是字符串类型,若需要进行数值运算,则需指定变量类型为数值型.变量用等号链接,且两边不能有空格.若需要有空格,则用单引号或者双引号包括. Bash变量中“\”为转义符. 变量的值可以叠加,不过变量需要用双引号包括“$变量名”或者${变量名}. 如果把命令的结果作为变量值赋予变量,则需要使用反引号``或者$()包含命令

Shell和bash变量类型

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