Maison > développement back-end > tutoriel php > La signification de '2>&1' dans le shell Linux

La signification de '2>&1' dans le shell Linux

巴扎黑
Libérer: 2023-03-10 18:20:01
original
2046 Les gens l'ont consulté

Vous pouvez souvent le voir dans les tâches planifiées. Par exemple, l'exemple de tâche planifiée de notre entreprise :

*/2 * * * * root cd /opt/xxxx/test_S1/html/xxxx/admin; php index.php task testOne >/dev/null 2>&1*/2 * * * * root cd /opt/xxxx/test_S1/html/xxxx/admin; php index.php task testTwo >/dev/null 2>&1
Copier après la connexion

Pour & 1, plus précisément, il doit s'agir du descripteur de fichier 1, et 1 identifie la sortie standard, stdout.
Pour 2, signifie erreur standard, stderr.
2>&1 signifie rediriger l’erreur standard vers la sortie standard. Ici, la sortie standard a été redirigée vers /dev/null. Ensuite, l'erreur standard sera également affichée dans /dev/null

Vous pouvez considérer /dev/null comme un "trou noir". Il équivaut à un fichier en écriture seule. être perdu pour toujours. Et si vous essayez d'en lire le contenu, vous n'obtiendrez rien

De temps en temps, vous pouvez ajouter & à la fin de la commande pour laisser le programme s'exécuter en arrière-plan.

Pourquoi 2>&1 est-il écrit à la fin ?

index.php task testOne >/dev/null 2>&1
Copier après la connexion

Nous pouvons comprendre que le côté gauche est la sortie standard, d'accord, maintenant la sortie standard est directement entrée dans /dev/null, et 2> ;&1 redirige l'erreur standard vers la sortie standard, donc lorsque le programme génère une erreur, cela équivaut à l'erreur circulant vers la gauche, et le côté gauche est toujours entré dans /dev/null .

peut être compris comme, s'il est écrit au milieu, il bloquera le fichier de sortie spécifié en sortie standard

Vous pouvez utiliser

ls 2>1 Test, l'erreur selon laquelle il n'y a pas de fichier 2 ne sera pas signalée, mais un fichier vide 1 sera affiché ;
ls xxx 2>1 test, l'erreur selon laquelle il n'y a pas de fichier xxx sera affichée ; être sorti sur 1 ;
ls xxx 2>&1 test, le fichier 1 ne sera pas généré, mais l'erreur ira à la sortie standard
ls xxx >out.txt 2>&1, cela peut en fait être remplacé par ls xxx 1>out.txt 2>&1;Symbole de redirection>La valeur par défaut est 1, et les erreurs et la sortie sont transmises à out.txt.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal