Edité una respuesta en Ask Ubuntu que sugería lo siguiente
nohup gedit >& /dev/null &
Cuando realmente querían decir
nohup gedit &> /dev/null &
Este último redirige correctamente stderr y stdout a /dev/null
. Esperaba que el primero creara un archivo llamado &
o, más probablemente, diera un error como lo hace para otros casos:
$ echo "foo" >&
bash: syntax error near unexpected token `newline'
En cambio, parece funcionar exactamente de la misma manera que la primera, gedit
aparece una ventana y no se imprime ningún mensaje de error.
También debo tener en cuenta que esto es específico del shell:
bash
(4.2.45 (1) -release),zsh
(5.0.2),csh
(versión del paquete deb: 20110502-2) ytcsh
(6.18.01): funciona como se describe anteriormente, sin mensaje de error, sin archivos creados.dash
(0.5.7-3):$ nohup gedit >& /dev/null & $ dash: 2: Syntax error: Bad fd number
ksh
(93u + 2012-08-01): falla, pero aparentemente se inicia un proceso (1223
) aunque nogedit
aparece ninguna ventana:$ nohup gedit >& /dev/null & [1] 1223 $ ksh: /dev/null: bad file unit number
fish
(2.0.0):> nohup gedit >& /dev/null & fish: Requested redirection to something that is not a file descriptor /dev/null nohup gedit >& /dev/null & ^
Entonces, ¿por qué este comando simplemente se ejecuta sin errores (y sin archivos de salida creados) en algunos shells y falla en otros? ¿Qué está >&
haciendo en el caso aparentemente especial de nohup
? Supongo que >& /dev/null
se está interpretando, >&/dev/null
pero ¿por qué el espacio no está causando un error en estos depósitos?
nohup command
, Ejecute TTY independiente de su application.According a mi memoria, dash
extendida de ash
, Debian ash
, ash
desarrollado por OpenBSD
y es la cáscara limitada, incluso sistema operativo Maemo (base de Debian en n900 móvil) utiliza el tablero, ash
la cáscara de la familia tiene un uso limitado de esperar bash o tcsh.
dash
que imprima su versión, pero el paquete es 0.5.7-3
, ¿cuál es el tuyo? Además, ¿estás seguro de que estás corriendo dash
? Ese es el valor predeterminado de Ubuntu, sh
¿no?
nohup
hace, mi pregunta es por qué >&
parece funcionar con nohup solo en algunos proyectiles.
dash
.