【发布时间】:2018-11-22 23:30:00
【问题描述】:
我可以在 bash 中做到这一点:
foo=bar
echo ${foo:0:2}
打印“ba”(“bar”的前两个字符)。
现在我想对脚本/命令输出而不是变量执行相同的操作,如下所示:
echo ${$(date):0:10}
然后我得到一个错误:“错误替换”。
当然我可以使用中间变量:
foo=$(date)
echo ${foo:0:10}
但是有没有办法直接做到这一点?
附: date 命令只是一个例子,这不是关于以特定格式生成一些日期字符串。只是从任意 shell 命令输出中获取子字符串的一般概念。
【问题讨论】:
-
没有 BASH 语法不允许任何类型的嵌套。
-
明确一点,
date在这里只是一个示例命令,不是问题的重点? -
@chepner 是的,
date只是用于说明目的的随机命令。
标签: bash shell variables substring