我知道我们可以对 shell 中的变量执行一些操作,例如:
1) "#"& "##"操作
使用${var#pattern},我们删除了${var} 头部的“pattern”。可以在模式中使用“*”来匹配所有内容。而“#”和“##”的区别在于,“##”会去掉最长的匹配子串,而“#”会去掉最短的匹配子串。例如,
var=brbread
${var##*br} // ead
${var#*br} // bread
2) "%"& "%%"操作
在 ${var%pattern} 中,我们删除了 ${var} 末尾的“pattern”。当然,“%%”表示最长匹配,“%”表示最短匹配。例如,
var=eadbreadbread
${var%%*br} // eadbreadbread
${var%%br*} // ead
${var%br*} // eadbread
3)“/”操作
对于${var/haha/heihei},我们将$var中的“haha”替换为“heihei”。例如,
var=ihahai
${var/haha/heihei/} / iheiheii
我只是好奇我们是否可以对上述以外的变量进行更多操作?
谢谢。
最佳答案
是的,bash 对变量还有很多其他操作,如大小写修改、数组键列表、名称扩展等。
您应该查看 Parameter Expansion 处的手册页章。
关于bash - 可以对 Bash shell 变量执行的操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2244644/