【发布时间】:2018-10-17 18:26:04
【问题描述】:
是否可以一次执行多个 bash 变量操作?
例如:
# for this variable
foo="string_that_is_lower"
# can I do this in one shot?
$foo="${foo:0:4}"
echo "${foo^^}"
有没有办法把这些结合起来?我意识到这是一个微不足道的问题,因为它工作得很好,或者可以简单地使用其他内置工具,如 echo ${foo:0:4} | tr [[:lower:]] [[:upper:]],但那很蹩脚。
我已经尝试了所有我认为可行的逻辑组合:
${${foo^^}:0:4}
${{foo^^}:0:4}
${foo^^,:0:4}
${foo^^;:0:4}
${foo^^ :0:4}
都会产生语法错误。
我在Advanced BashScripting Manual、联机帮助页、Google 或此处找不到“(combine|multiple) bash 变量操作”的实例,所以也许你不能这样做,但可能我'我只是没有在寻找合适的术语。
【问题讨论】:
-
答案 - 否。参数扩展作用于变量,而不是先前扩展的文本结果。 (但很好的问题)
-
也许我应该在“如何做”之前搜索“是否可能”。不过,这是有道理的,谢谢。
标签: string bash variables scripting