深入探索Shell的参数扩展与算术运算
1. 参数扩展:返回变量名
Shell具备返回变量名的能力,这在一些特殊场景中十分有用。可以使用 ${!prefix*} 和 ${!prefix@} 这两种扩展形式来返回以 prefix 开头的现有变量的名称。根据bash文档,这两种形式的扩展效果相同。
例如,列出环境中所有以 BASH 开头的变量:
[me@linuxbox ~]$ echo ${!BASH*}
BASH BASH_ARGC BASH_ARGV BASH_COMMAND BASH_COMPLETION
BASH_COMPLETION_DIR BASH_LINENO BASH_SOURCE BASH_SUBSHELL
BASH_VERSINFO BASH_VERSION
2. 字符串操作
有大量的扩展可用于对字符串进行操作,其中许多扩展特别适合用于路径名操作。
- ${#parameter} :扩展为 parameter 所包含字符串的长度。通常, parameter 是一个字符串;但如果 parameter 是 @ 或 * ,则扩展结果为位置参数的数量。
[me@lin
超级会员免费看
订阅专栏 解锁全文
14

被折叠的 条评论
为什么被折叠?



