将单行命令拆分为两部分,使其在美观上更加“结构化”

将单行命令拆分为两部分,使其在美观上更加“结构化”

我有以下从脚本运行的命令。在脚本文件中,它被写在这个有点长的行中:

sudo zip -r /var/www/html/html-$(date +\%F-\%T-).zip /var/www/html -x /var/www/html/wp-content/cache

到目前为止一切顺利,但我想把这个命令分成几部分水平地, 喜欢:

sudo zip -r /var/www/html/html-$(date +\%F-\%T-).zip /var/www/html || -x /var/www/html/wp-content/cache

未执行的字符应该出现在哪里,||这些字符仅用于将命令“美学”分割为两部分。

或者甚至可能是垂直的:

sudo zip -r /var/www/html/html-$(date +\%F-\%T-).zip /var/www/html 
-x /var/www/html/wp-content/cache

您认为实现这一目标的最佳方法是什么?

答案1

如果我正确理解您想要实现的目标,您应该使用\.这允许将长命令分成多行。

sudo zip -r \
    /var/www/html/html-$(date +\%F-\%T-).zip \
    /var/www/html \
    -x /var/www/html/wp-content/cache

请记住,斜杠之前的空格很重要。 shell 不会自动插入它们,所以命令如下

echo\
"asdf"

可能会导致“找不到命令”(@ilkkachu)。

相关内容