Yang perlu Anda lakukan hanyalah menambahkan "\" di akhir setiap baris dan itu sudah bagus.
Jadi milik Anda akan terlihat seperti:
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 \
/
Beberapa Pintasan
(berdasarkan pembaruan komentar Anda untuk pengaturan $HOSTNAME)
$HOSTNAME
Dua opsi untuk menyetelnya:
-
Tetapkan HOSTNAME
HOSTNAME=$(nama host)
-
Gunakan substitusi perintah (mis.
$(command)
)Maka tampilannya akan seperti di atas. Itu hanya membuat perintah berjalan sebelum menggunakannya.
$DATE
Variabel lain yang dihindari akan dengan mudah:
$(hostname)_$(date +%Y%m%d).tar.gz \
$ man date
akan memiliki format untuk opsi tanggal, yang di atas adalah YYYYmmdd
Gunakan garis miring terbalik untuk melanjutkan perintah pada baris berikutnya:
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 \
/
Perintah yang sama, tetapi dengan komentar untuk setiap baris, adalah:
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 \
/
Mengatur pipefail untuk satu perintah yang disalurkan
Bagaimana cara saya `cd` dan kemudian* `ls` secara otomatis di linux?