如何将一条长路径分成多条线?

如何将一条长路径分成多条线?

我想将一条长路径分成多行,如下所示:

cd foo1/foo2/foo3/foo4/bar

cd foo1\
   foo2\
   foo3\
   foo4\
   bar

答案1

您可以使用反斜杠将长命令分成多行,但您需要保留正斜杠并省略前导空格:

cd foo1\
/foo2\
/foo3\
/foo4\
/bar

反斜杠是续行标记;当 bash 看到它们时,它会合并下一行,就像它在当前行的反斜杠处继续一样。因此,您无法在后续行上使用前导空格,因为它们会成为当前行上的空格,从而产生“参数过多”错误。

答案2

可以使用数组执行此操作,但cd命令看起来有点复杂:

path=(
    foo1
    foo2
    foo3
    foo4
    bar
)
cd "$(IFS=/; echo "${path[*]}")"

数组文字允许任意空白。

相关内容