</dev/null
desconecta la entrada del programa del terminal. Algunos programas reaccionan de manera diferente según a qué esté conectada su entrada estándar. Con la redirección </dev/null
, el programa puede decir que su entrada no proviene de un terminal y recibirá una indicación de fin de archivo inmediatamente si intenta leer desde su entrada estándar.
El solitario &
al final hace que el programa se ejecute en segundo plano. Esto significa que recibirá un aviso de shell de inmediato. Sin el &
, obtendría un indicador de shell solo cuando el programa termine de ejecutarse.
Tenga en cuenta que el independiente &
no está relacionado con >&
. >&
es un operador de redirección (en tcsh, bash y zsh) que redirige tanto la salida estándar del programa como el error estándar del programa al nombre de archivo especificado después del operador (aquí log
).
En otras palabras, lo que hace el shell cuando ve esta línea de comando es:
- Comience un proceso en segundo plano. En el proceso de fondo:
- Conecte la entrada estándar a
/dev/null
(el dispositivo nulo ).
- Conecte tanto la salida estándar como el error estándar al archivo llamado
log
(creando el archivo si aún no existe y truncándolo si existe).
- Busque un archivo ejecutable llamado
java
en el $PATH
.
- Ejecutar ese archivo con los 5 argumentos
-cp
, /home/weka.jar
, weka.classifiers.trees.J48
, –t
, train_file`.
Gilles 'SO- deja de ser malvado'
fuente