J'ai édité une réponse sur Ask Ubuntu qui suggérait ce qui suit
nohup gedit >& /dev/null &
Quand ils voulaient dire
nohup gedit &> /dev/null &
Ce dernier redirige correctement stderr et stdout vers /dev/null. Je m'attendais à ce que le premier crée un fichier appelé &ou, plus probablement, produise une erreur comme il le fait pour d'autres cas:
$ echo "foo" >&
bash: syntax error near unexpected token `newline'
Au lieu de cela, il semble fonctionner exactement de la même manière que le premier, une geditfenêtre apparaît et aucun message d'erreur n'est imprimé.
Je dois également noter que cela est spécifique au shell:
bash(4.2.45 (1) -release),zsh(5.0.2),csh(version du paquet deb: 20110502-2) ettcsh(6.18.01): fonctionne comme décrit ci-dessus, aucun message d'erreur, aucun fichier créé.dash(0.5.7-3):$ nohup gedit >& /dev/null & $ dash: 2: Syntax error: Bad fd numberksh(93u + 2012-08-01): échoue, mais un processus est apparemment démarré (1223) bien qu'aucunegeditfenêtre n'apparaisse:$ nohup gedit >& /dev/null & [1] 1223 $ ksh: /dev/null: bad file unit numberfish(2.0.0):> nohup gedit >& /dev/null & fish: Requested redirection to something that is not a file descriptor /dev/null nohup gedit >& /dev/null & ^
Alors, pourquoi cette commande s'exécute-t-elle simplement sans erreur (et sans fichier de sortie créé) dans certains shells et échoue dans d'autres? Que >&fait-on dans le cas apparemment spécial de nohup? Je suppose que cela >& /dev/nullest interprété comme >&/dev/nullmais pourquoi l'espace ne provoque-t-il pas une erreur dans ces coquilles?
nohup command, Exécutez votre TTY indépendante application.According à ma mémoire, dashprolongée ash, Debian ash, ashdéveloppé par OpenBSDet il est shell limitée, même OS Maemo (Debian base sur N900 mobile) utilise tableau de bord, ashcoquille de famille ont une utilisation limitée attendent de bash ou tcsh.
dashimprimer ma version, mais le package est 0.5.7-3, quel est le vôtre? De plus, êtes-vous sûr de courir dash? C'est le défaut d'Ubuntu, shn'est-ce pas?
nohupça fait, ma question est pourquoi le >&semble fonctionner avec nohup seul dans certains shells.
dash.