Bash相当于WebConsole.group()

时间:2017-09-28 19:16:15

标签: bash stdout

我如何复制这个:bash中的https://developer.mozilla.org/en-US/docs/Web/API/Console/group

这样的事情:

#!/bin/bash
echo "outer level"
echo.group()
echo "first group"
echo.group()
echo "second group"
echo.endGroup();
echo "back to first group"
echo.endGroup();
echo "back to outer level"

将输出以下内容:

outer level
    first group
        second group
    back to first group
back to outer level

1 个答案:

答案 0 :(得分:3)

由于问题仅限于内置的,开箱即用的功能,因此它有助于一个单词的答案:

那就是说,你可以轻松地写一些东西:

# Here's your library: Only four lines
nestLevel=0
nestEcho()  { printf '%*s%s\n' "$(( nestLevel * 4 ))" "" "$*"; }
nestEnter() { (( nestLevel += 1 )); }
nestLeave() { (( nestLevel -= 1 )); }

...因此使用:

nestEcho "outer level"
nestEnter
nestEcho "first group"
nestEnter
nestEcho "second group"
nestLeave
nestEcho "back to first group"
nestLeave
nestEcho "back to outer level"