GNU/Linux >> Linux の 問題 >  >> Linux

Linux Bash スクリプト、コマンドは 1 つ、行は複数?

各行の末尾に "\" を追加するだけで、準備完了です。

したがって、あなたは次のようになります:

tar -cvpzf /share/Recovery/Snapshots/$(hostname)_$(date +%Y%m%d).tar.gz \
    --exclude=/proc \
    --exclude=/lost+found \
    --exclude=/sys \
    --exclude=/mnt \
    --exclude=/media \ 
    --exclude=/dev \
    --exclude=/share/Archive \
    /

いくつかのショートカット

($HOSTNAME の設定に関するコメントの更新に基づく)

$HOSTNAME

それを設定する 2 つのオプション:

<オール>
  • ホスト名を設定

    <ブロック引用>

    HOSTNAME=$(ホスト名)

  • コマンド置換を使用します (例:$(command) )

    したがって、上記のようになります。これは、コマンドを使用する前に実行するだけです。

  • $DATE

    別の変数を回避するのは簡単です:

    $(hostname)_$(date +%Y%m%d).tar.gz \
    

    $ man date 日付オプションの形式があり、上記は YYYYmmdd です


    コマンドを次の行に続けるには、バックスラッシュを使用します:

    tar -cvpzf /share/Recovery/Snapshots/$HOSTNAME_$DATE.tar.gz \
    --exclude=/proc \
    --exclude=/lost+found \
    --exclude=/sys  \
    --exclude=/mnt  \
    --exclude=/media  \
    --exclude=/dev \
    --exclude=/share/Archive \
    /
    

    同じコマンドですが、各行にコメントを付けると、次のようになります:

    tar -cvpzf /share/Recovery/Snapshots/$(hostname)_$(date +%Y%m%d).tar.gz `#first comment` \
        --exclude=/proc `#second comment` \
        --exclude=/lost+found `# and so on...` \
        --exclude=/sys \
        --exclude=/mnt \
        --exclude=/media \ 
        --exclude=/dev \
        --exclude=/share/Archive \
        /
    

    Linux
    1. Linuxtarコマンド

    2. Linux での tar コマンドの例

    3. テキストファイル内の重複行をカウントするLinuxコマンドまたはスクリプト?

    1. Linuxコマンドのスクリプトを作成する方法

    2. Conda コマンドはコマンド プロンプトでは機能するが、bash スクリプトでは機能しない

    3. Unixで単一のコマンドまたはスクリプトで複数のファイルの名前を変更する方法は?

    1. Unixの単一のコマンドまたはスクリプトで複数のファイルの名前を変更する方法は??

    2. Linuxwcコマンド

    3. Bash スクリプトは、空の行に Command Not Found を出力します