版权声明
:转载时请以超链接形式标明文章原始出处和作者信息及本声明
http://franksun.blogbus.com/logs/17729745.html
1. 引用Bash变量的简洁形式为$varname
,它是一种完整形式为${varname
}
。
2. 替换操作符
:
(1)${varname
:-word
}
。若varname
存在且非null,返回其值,否则返回word
。用来返回默认值
。
(2)${varname
:+word
}
。若varname
存在且非null,返回word
,否则返回null。用来测试存在性
。
(3)${varname
:=word
}
。若varname
存在且非null,返回其值,否则将其设置为word
,再返回其值。用来设置默认值
。
(4)${varname
:?message
}
。若varname
存在且非null,返回其值,否则打印varname
:后跟信息message
,并退出当前命令或脚本。用来捕获未定义变量
。
(5)${varname
:offset
}
及${varname
:offset
:length
}
。返回$varname
从offset
位置开始(首字符为0),长length
的子字符串。若省略长度则至尾字符。
3. 模式匹配操作符
(此处的模式是指bash通配符
意义上的模式):
(1)${variable
#pattern
}
。若模式匹配变量的开头
,删除最短
的匹配部分,并返回其余部分。${variable
##pattern
}
。若模式匹配变量的开头
,删除最长
的匹配部分,并返回其余部分。
(2)${variable
%pattern
}
。若模式匹配变量的结尾
,删除最短
的匹配部分,并返回其余部分。${varible
%%pattern
}
。若模式匹配变量的结尾
,删除最长
的匹配部分,并返回其余部分。
(3)${variable
/pattern
/string
}
及${variable
//pattern
/string
}
。二者都是将variable
中匹配模式的最长
部分替换为string
。前者只替换首个
匹配的部分。后者替换所有
匹配的部分。
4. 长度操作符
:${#varname
}
。返回变量字符串值的长度。
分享到:
相关推荐
字符串的基本操作 脚本 1 # 声明字符串 str01=str01 echo ${str01} # 单引号也可以 # 不过后面的例子, 通常是用 双引号, 具体原因, 以后会解释\nstr02='str02' echo ${str02} # 对引号的转义, 这里就不提了 2. ...
操作符和相关的主题 8.1. 操作符 8.2. 数字常量 第三部分. 超越基本 9. 变量重游 9.1. 内部变量 9.2. 操作字符串 9.3. 参数替换 9.4. 指定类型的变量:declare或者typeset 9.5. 变量的间接引用 9.6. $...
8. 操作符和相关的主题 8.1. 操作符 8.2. 数字常量 第三部分. 超越基本 9. 变量重游 9.1. 内部变量 9.2. 操作字符串 9.3. 参数替换 9.4. 指定类型的变量:declare 或者typeset 9.5. 变量的间接引用 9.6. $RANDOM: ...
操作字符串 9.3. 参数替换 9.4. 指定变量的类型: 使用declare或者typeset 9.5. 变量的间接引用 9.6. $RANDOM: 产生随机整数 9.7. 双圆括号结构 10. 循环与分支 10.1. 循环 10.2. 嵌套循环 10.3. 循环...
9.2. 操作字符串 9.3. 参数替换 9.4. 指定类型的变量:declare 或者typeset 9.5. 变量的间接引用 9.6. $RANDOM: 产生随机整数 9.7. 双圆括号结构 10. 循环和分支 10.1. 循环 10.2. 嵌套循环 10.3. 循环控制 ...
首先,为了方便起见,将文件重命名$ mv _save 从这一点开始,将“ _save”更改为您刚刚选择的<newName> 然后,为了将其添加到您的PATH中,您可以执行以下操作:这绝不是唯一,也不是最佳方法要将其临时添加到您的...
重击 bashLT是一个简单的shell,也是Bourne-again shell bash的小弟弟,并提供了bash功能的... 到其“打印”值(例如,如果值为零,则为字符串“ 0”)。 目录操作: cd -p将当前工作目录打印到标准输出。 cd DIRNA
例如,用户登录后,按一下“Alt+ F2”键,用户就可以看到上面出现的“login:”提示符,说明用户看到了第二个虚拟控制台。然后只需按“Alt+ F1”键,就可以回到第一个虚拟控制台。一个新安装的Linux系统允许用户使用...
因此之前介绍的《shell编程范例之字符串操作》在这里将会得到广泛的应用,关于普通文件的读写操作我想我们已经用得非常熟练啦,那就是“重定向”,在这里,我们会把这部分独立出来介绍。关于文件在Linux下的“数字化”...
有关诸如对字符串执行shell扩展之类的高级操作,请参见shell示例。 shfmt GO111MODULE =运行时获取mvdan.cc/sh/v3/cmd/shfmt shfmt格式的shell程序。 它可以使用制表符或任意数量的空格缩进。 请参阅canonical.sh以...
9.2. 操作字符串 9.3. 参数替换 9.4. 指定变量的类型: 使用declare或者typeset 9.5. 变量的间接引用 9.6. $RANDOM: 产生随机整数 9.7. 双圆括号结构 10. 循环与分支 10.1. 循环 10.2. 嵌套循环 10.3. 循环控制 10.4....
1. 字符串操作函数 1.1. 初始化字符串 1.2. 取字符串的长度 1.3. 拷贝字符串 1.4. 连接字符串 1.5. 比较字符串 1.6. 搜索字符串 1.7. 分割字符串 2. 标准I/O库函数 2.1. 文件的基本概念 2.2. fopen/fclose 2.3. ...
/ 976.3 字符串测试表达式 / 1026.4 整数二元比较操作符 / 1056.5 逻辑操作符 / 1086.6 测试表达式test、[]、[[]]、(())的区别总结 / 120第7章 if条件语句的知识与实践 / 1217.1 if条件语句 / 1217.2 if条件...
具有可配置模式字符串的Readline 这是readline 6.3的修补版本,增加了对自定义提示模式指示符的支持。 有关动机和用法的更多详细信息,请参见相应的bash回购停止该分支设置为生成和安装独立版本的libreadline。 如果...
3.5 显示字符串echo 3.6 命令行中使用扩展符 第4章 文件权限与文件共享 4.1 存取权限 4.2 改变文件的存取权限 4.3 特殊权限位SUID、SGID、Sticky 4.4 硬链接 4.5 符号链接 第5章 文件管理工具 5.1 正则表达式 5.2 ...
这种方法有助于一些难以从 $Revision: $ 这样的字符串中剥去关键字分界符的编程语言生成文件。但是,一旦删除关键字名,以后将不能执行关键字替换,所以应小心使用该选项。 注意:代码中如果有$Revision$和$Date$...
要求您的外壳应满足以下要求: 在需要命令时打印由外壳变量PS1指定的提示字符串(如果未设置PS1,则默认提示应为“ $”)。 接受用于指定命令和参数的标准unix命令外壳语法您的外壳程序应该创建一个子进程,该子进程...
在需要命令时打印由外壳变量PS1指定的提示字符串(如果未设置PS1,则默认提示应为“ $”)。 接受用于指定命令和参数的标准unix命令外壳语法 您的外壳程序应该创建一个子进程,该子进程使用execve来运行带有参数的...
在需要命令时打印由外壳变量PS1指定的提示字符串(如果未设置PS1,则默认提示应为“ $”)。 接受用于指定命令和参数的标准unix命令外壳语法 您的外壳程序应该创建一个子进程,该子进程使用execve来运行带有参数的...