AI写作智能体 自主规划任务,支持联网查询和网页读取,多模态高效创作各类分析报告、商业计划、营销方案、教学内容等。 广告
**shell 变量子串说明** ``` ${parameter} #返回变量$parameter的内容 ${#parameter} #返回变量$parameter内容的长度(按字符) ${parameter:offset} #在变量${parameter}中,从位置offset之后开始提取子串到结尾 ${parameter:offset:length} #在变量${parameter}中,从位置offset之后开始提取长度为length的子串 ${parameter#word} #从变量${parameter}开头开始删除**最短**匹配的word子串 ${parameter##word} #从变量${parameter}开头开始删除**最长**匹配的word子串 ${parameter%word} #从变量${parameter}结尾开始删除**最短**匹配的word子串 ${parameter%%word} #从变量${parameter}结尾开始删除**最长**匹配的word子串 ${parameter/pattern/string} #使用string代替第一匹配的pattern ${parameter//pattern/string} #使用string代替所有匹配的pattern ``` **示例** ``` tony@z6:~/scripts$ OLDBOY="I am oldboy" tony@z6:~/scripts$ echo ${OLDBOY} I am oldboy tony@z6:~/scripts$ echo ${OLDBOY:2} am oldboy tony@z6:~/scripts$ echo ${OLDBOY:2:2} am ``` ``` tony@z6:~/scripts$ OLDBOY=abcABC123ABCabc tony@z6:~/scripts$ echo $OLDBOY abcABC123ABCabc tony@z6:~/scripts$ echo ${OLDBOY#a*c} #从开头开始删除最短匹配a*c的子串 ABC123ABCabc #删除了abc tony@z6:~/scripts$ echo ${OLDBOY##a*c}#从头开始删除最长匹配a*c的子串 #全部匹配,全删除 tony@z6:~/scripts$ echo ${OLDBOY##a*C}#从头开始删除最长匹配a*C的子串 abc #只剩下了abc tony@z6:~/scripts$ echo ${OLDBOY%a*C}#从结尾开始删除最短匹配a*C的子串 abcABC123ABCabc #没有匹配,原样输出。 tony@z6:~/scripts$ echo ${OLDBOY%a*c}#从结尾开始删除最短匹配a*c的子串 abcABC123ABC #删除了最后的abc tony@z6:~/scripts$ echo ${OLDBOY%%a*C} abcABC123ABCabc tony@z6:~/scripts$ echo ${OLDBOY%%a*c} tony@z6:~/scripts$ ```