1行のコマンドを2つの部分に分割して、見た目に「構造化」されるようにする

1行のコマンドを2つの部分に分割して、見た目に「構造化」されるようにする

スクリプトから実行する次のコマンドがあります。スクリプト ファイルでは、このやや長い行に記述されています。

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

||コマンドを 2 つの部分に「審美的に」分割するためだけに使用される、実行されない文字はどこにありますか。

あるいは、次のように垂直にすることもできます。

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

スラッシュの前のスペースが重要であることに注意してください。シェルはスペースを自動的に挿入しないので、次のようなコマンドを使用します。

echo\
"asdf"

おそらく「コマンドが見つかりません」という結果になります (@ilkkachu)。

関連情報