后一修订版 | 前一修订版 |
public:it:linux:shell [2021/04/06 15:54] – 创建 oakfire | public:it:linux:shell [2022/11/24 09:55] (当前版本) – oakfire |
---|
====== Shell ====== | ====== Shell ====== |
| * [[https://effective-shell.com/|Effective shell]] 免费shell教程电子书 |
===== Shell Script ===== | ===== Shell Script ===== |
* [[https://www.runoob.com/linux/linux-shell.html]] | * [[https://www.runoob.com/linux/linux-shell.html]] |
* 变量处理: | * 变量处理: |
| |
| ''var″|变量var的值,与var相同 | | | ''var″|变量var的值,与var相同 | |
| ''var−DEFAULT″|如果var没有被声明,那么就以DEFAULT 作为其值 | | | ''var−DEFAULT″|如果var没有被声明,那么就以DEFAULT 作为其值 | |
| ''var:−DEFAULT″|如果var没有被声明,或者其值为空,那么就以DEFAULT 作为其值 | | | ''var:−DEFAULT″|如果var没有被声明,或者其值为空,那么就以DEFAULT 作为其值 | |
| ''var=DEFAULT″|如果var没有被声明,那么就以DEFAULT 作为其值 | | | ''var=DEFAULT″|如果var没有被声明,那么就以DEFAULT 作为其值 | |
| ''var:=DEFAULT″|如果var没有被声明,或者其值为空,那么就以DEFAULT 作为其值 | | | ''var:=DEFAULT″|如果var没有被声明,或者其值为空,那么就以DEFAULT 作为其值 | |
| ''var+OTHER″|如果var声明了,那么其值就是OTHER, 否则就为 null 字符串 | | | ''var+OTHER″|如果var声明了,那么其值就是OTHER, 否则就为 null 字符串 | |
| ''var:+OTHER″|如果var被设置了,那么其值就是OTHER, 否则就为 null 字符串 | | | ''var:+OTHER″|如果var被设置了,那么其值就是OTHER, 否则就为 null 字符串 | |
| ''var?ERRMSG″|如果var没被声明,那么就打印ERR_MSG | | | ''var?ERRMSG″|如果var没被声明,那么就打印ERR_MSG | |
| ''var:?ERRMSG″|如果var没被设置,那么就打印ERR_MSG | | | ''var:?ERRMSG″|如果var没被设置,那么就打印ERR_MSG | |
| ''${!varprefix*}'' | 匹配之前所有以 varprefix 开头进行声明的变量 | | | ''${!varprefix*}'' | 匹配之前所有以 varprefix 开头进行声明的变量 | |
| ''${!varprefix@}'' | 匹配之前所有以 varprefix 开头进行声明的变量 | | | ''${!varprefix@}'' | 匹配之前所有以 varprefix 开头进行声明的变量 | |
| |
| * 字符串处理: |
| |
| | ''${#string}'' | $string 的长度 | |
| | ''${string:position}'' | 在 $string 中, 从位置 $position 开始提取子串 | |
| | ''${string:position:length}'' | 在 $string 中, 从位置 $position开始提取长度为 $length 的子串 | |
| | ''${string#substring}'' | 从变量 $string 的开头, 删除最短匹配 $substring 的子串 | |
| | ''${string##substring}'' | 从变量 $string 的开头, 删除最长匹配 $substring 的子串 | |
| | ''${string%substring}'' | 从变量 $string 的结尾, 删除最短匹配 $substring 的子串 | |
| | ''${string%%substring}'' | 从变量 $string 的结尾, 删除最长匹配 $substring 的子串 | |
| | ''${string/substring/replacement}'' | 使用 $replacement, 来代替第一个匹配的 $substring | |
| | ''${string//substring/replacement}'' | 使用 $replacement, 代替所有匹配的 $substring | |
| | ''${string/#substring/replacement}'' | 如果 $string 的前缀匹配 $substring, 那么就用 $replacement 来代替匹配到的 $substring | |
| | ''${string/%substring/replacement}'' | 如果 $string 的后缀匹配 $substring, 那么就用 $replacement 来代替匹配到的 $substring | |
| |