4 shell
我有以下从脚本运行的命令。在脚本文件中,它写在这个有点长的行中:
sudo zip -r /var/www/html/html-$(date +\%F-\%T-).zip /var/www/html -x /var/www/html/wp-content/cache
Run Code Online (Sandbox Code Playgroud)
到目前为止一切顺利,但我想将此命令水平拆分为几部分,例如:
sudo zip -r /var/www/html/html-$(date +\%F-\%T-).zip /var/www/html || -x /var/www/html/wp-content/cache
Run Code Online (Sandbox Code Playgroud)
||非执行字符应该在哪里,这些字符将仅用于将命令“aeshtetic”拆分为两部分。
或者甚至可能像垂直一样:
sudo zip -r /var/www/html/html-$(date +\%F-\%T-).zip /var/www/html
-x /var/www/html/wp-content/cache
Run Code Online (Sandbox Code Playgroud)
您认为实现这一目标的最佳方法是什么?
如果我正确理解您要实现的目标,您应该使用\. 这允许将长命令分成多行。
sudo zip -r \
/var/www/html/html-$(date +\%F-\%T-).zip \
/var/www/html \
-x /var/www/html/wp-content/cache
Run Code Online (Sandbox Code Playgroud)
请记住,斜杠前的空格很重要。外壳不会自动插入它们,所以命令像
echo\
"asdf"
Run Code Online (Sandbox Code Playgroud)
可能会导致“找不到命令”(@ilkkachu)。