J'ai besoin d'exécuter plusieurs commandes en utilisant Nohup
. Chaque commande doit être exécutée après la commande précédente.
J'ai utilisé cette commande comme exemple:
Nohup wget $url && wget $url2 > /dev/null 2>&1 &
Cependant, cette commande n'a pas fonctionné.
Quelle commande dois-je utiliser à cet effet?
Envelopper dans sh -c
:
Nohup sh -c 'wget "$0" && wget "$1"' "$url1" "$url2" > /dev/null &
Ne serait-il pas beaucoup plus simple de créer votre liste de commandes dans un fichier Shell séparé, par ex. command.sh, sans Nohup.
Ensuite, vous appelez:
Nohup bash command.sh
D'autres ont déjà répondu sur Nohup
. Comme note pratique: je recommande de faire ce genre de choses dans une session screen
ou tmux
. De cette façon, vous pouvez vous déconnecter, puis vous reconnecter plus tard et voir la sortie et le résultat final.
Ce serait plus simple comme ça:
Nohup sh -c "wget $url && wget $url2" > /dev/null 2>&1 &
Cependant, cela peut entraîner des problèmes si les URL contiennent des caractères spéciaux, vous pouvez donc utiliser une option plus sûre:
Nohup sh -c "wget \"$url\" && wget \"$url2\"" > /dev/null 2>&1 &