</dev/null
déconnecte l'entrée du programme du terminal. Certains programmes réagissent différemment selon ce à quoi leur entrée standard est connectée. Avec la redirection </dev/null
, le programme peut dire que son entrée ne provient pas d'un terminal et recevra immédiatement une indication de fin de fichier s'il essaie de lire à partir de son entrée standard.
Le seul &
à la fin entraîne l'exécution du programme en arrière-plan. Cela signifie que vous obtenez immédiatement une invite shell. Sans &
, vous obtiendrez une invite shell uniquement lorsque le programme aura terminé son exécution.
Notez que le autonome &
n'est pas lié à >&
. >&
est un opérateur de redirection (en tcsh, bash et zsh) qui redirige à la fois la sortie standard du programme et l'erreur standard du programme vers le nom de fichier spécifié après l'opérateur (ici log
).
En d'autres termes, ce que fait le shell lorsqu'il voit cette ligne de commande est:
- Démarrez un processus en arrière-plan. En arrière-plan:
- Connectez l'entrée standard à
/dev/null
(le périphérique nul ).
- Connectez à la fois la sortie standard et l'erreur standard au fichier appelé
log
(en créant le fichier s'il n'existe pas encore et en le tronquant s'il existe).
- Recherchez un fichier exécutable appelé
java
dans le fichier $PATH
.
- Exécuter ce fichier avec les 5 arguments
-cp
, /home/weka.jar
, weka.classifiers.trees.J48
, –t
, train_file`.
Gilles 'SO- arrête d'être méchant'
la source