我想将一条长路径分成多行,如下所示:
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[*]}")"
数组文字允许任意空白。