Chaque fichier ouvert sous Linux est associé à un descripteur de fichier. Si nécessaire, nous pouvons utiliser la commande exec pour spécifier un nombre supérieur à 3 comme fichier
. Chaque fois qu'il est ouvert, un shell ouvrira les trois descripteurs de fichier par défaut 0, 1 et 2, qui représentent respectivement l'entrée standard, la sortie standard et la sortie d'erreur standard.
exec 5>/tmp/a.txt mode de lecture
exec 5exec 5<> ; /tmp/a.txt Mode de lecture et d'écriture
exec 5<&-;exec5>&- Fermer le descripteur de fichier
Cas d'application : Réassocier la sortie standard dans le script shell pour enregistrer le journal dans le fichier spécifié
#!/bin/bash exec 4>&1 #用4记录标准输出 exec 1>/tmp/abc #重定向标准输出 echo "123" echo "456" exec 1>&4 #恢复标准输出 exec 4>&- #关闭4
Exécutez ce script, la sortie d'écho dans le script sera sortie dans le fichier /tmp/abc
La deuxième ligne du script utilise 4>&1 pour enregistrer le descripteur de fichier de la sortie standard pour une exécution facile Une fois terminé, restaurez la sortie standard. Vous pouvez également utiliser exec 1>/dev/tty
#!/bin/bash exec 4>/tmp/abc echo "123" >&4 echo "456" >&4 exec 4>&-
L'opération d'effacement du fichier est effectuée lors de l'opération de la commande exec
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!