GNU/Linux >> Znalost Linux >  >> Linux

nohup více po sobě jdoucích příkazů

Nejjednodušší řešení:Vytvořte skript shellu pomocí

 #/bin/sh
 tar -zcf archive.tar.gz.tmp mydir
 mv archive.tar.gz.tmp archive.tar.gz

A použijte nohup myscript . Možná s nějakou další dokumentací ve skriptu.

(Ano, mám rád dokumentaci. Zvláště když pracujete s více lidmi nebo když můžete jednoho dne opustit práci a váš nástupce musí zjistit proč.)

Alternativou může být spuštění nového shellu pro dílčí úlohu (v tomto případě váš tar a přesun)

nohup `$(tar -zcf archive.tar.gz.tmp mydir; mv archive.tar.gz.tmp archive.tar.gz)

Alternativa 2:

nohup ```tar -zcf archive.tar.gz.tmp mydir; mv archive.tar.gz.tmp archive.tar.gz```.

Ale opravdu preferuji scénář. Komentáře v něm mohou být docela užitečné, až se vy nebo někdo jiný za pár let podívá na jeho scénář a bude se divit, proč to bylo uděláno tímto způsobem.

Na nesouvisející poznámku:Jak mám sakra poslat anser se zadním zaškrtnutím? (Příkaz pro shell, který má 'použít tento příkaz; vložit výstup do jiného příkazu jako vstup`).


Myslím, že potřebujete závorky.

nohup $(tar -zcf archive.tar.gz.tmp mydir; mv archive.tar.gz.tmp archive.tar.gz) >/dev/null 2>&1 &


Možná bash wrap?

nohup bash -c 'tar -zcf archive.tar.gz.tmp mydir > /dev/null 2>&1 ; mv archive.tar.gz.tmp archive.tar.gz > /dev/null 2>&1' &

Linux
  1. Příkaz tar pro Linux

  2. Jak komprimovat symbolický odkaz?

  3. Jak vytvořit archiv tar rozdělený do více souborů?

  1. Spojte více souborů tar jedním příkazem

  2. Formát indexovaného archivu?

  3. Komprimovat složku s tar?

  1. Jak rozdělit velký archiv „tar“ na více souborů určité velikosti

  2. 16 příkazů Tar pro kompresi a extrahování souborů v Linuxu

  3. Přidání souboru do souborů TBZ