Shell 子串
2022-06-26
${变量} 返回变量值
${#变量} 返回变量长度,字符长度
${变量:start} 返回变量 start 数值之后的字符
${变量:start:length} 提取 start。之后的 length 限制的字符
${变量#word} 从变量开头删除最短匹配的 word 子串
${变量##word} 从变量开头,删除最长匹配的 word
${变量%word} 从变量结尾删除最短的 word
${变量%%word} 从变量结尾开始删除最长匹配的 word
# 替换
${变量/pattern/string} 用 string 代替第一个匹配的 pattern
${变量//pattern/string} 用string代替所有的pattern
创建进程列表(创建子 shell 执行命令)
需要大家,执行一系列的 shell 命令
ls; cd; pwd; echo "奥利给"
列表,肯定是被包括起来的数据
Shell 的进程列表理念,需要使用()小括号,如下执行方式,就称之为,进程列表
加上小括号,就是开启子shell运行命令的;
(cd ~pwd;1s; cd /tmp/; pwd;1s)
为什么要开启子shell
为了不阻塞当前shell执行;
检测是否在子 shell 环境中
linux 默认的有关 shell 的变量
# 该变量的值特点,如果是 0 就是父 shell 环境(当前shell环境中执行的),否则子 shell(就是在子shell中执行的)
$BASH_SUBSHELL
(date ; echo $BASH_SUBSHELL)
嵌套 子 shell
刚才一个小括号,开启一个子shell,还可以嵌套多个
(pwd;(echo $BASH_SUBSHELL))
开启子shell可以提高并发程序的执行;