![]() |
|
|
google unix.com
|
|||||||
| Forums | S'inscrire | Forum Rules | Liens | Albums | FAQ | Liste des membres | Calendrier | Recherche | Aujourd'hui, les postes | Marquer les forums comme lus |
| De programmation et de script Shell Posez vos questions à propos de KSH, CSH, SH, BASH, PERL, PHP, SED, awk et d'autres scripts shell et les langages de script shell ici. |
Plus d'UNIX et Linux Forum Sujets Vous trouverez peut-être utile
|
||||
| Fil | Thread Starter | Forum | Réponses | Last Post |
| File Descriptor Table | Ashaman0 | UNIX for Advanced & Expert Users | 6 | 12-03-2007 02:54 PM |
| Descripteur de fichier constante | vino | High Level Programming | 4 | 05-18-2005 02:18 AM |
| File Descriptor Aide | rahulrathod | UNIX pour les nuls Questions et réponses | 3 | 10-14-2004 06:08 AM |
| fichier de l'activité (ouvert / fermé) descripteur de fichier d'informations sur l'utilisation de script Korn Shell | Gary Dunn | UNIX pour les nuls Questions et réponses | 3 | 06-07-2004 02:54 PM |
| mauvais descripteur de fichier? | FTB | UNIX pour les nuls Questions et réponses | 1 | 02-20-2002 07:19 PM |
![]() |
|
|
LinkBack | Thread Tools | Recherche sur ce Thread | Rate Thread | Modes d'affichage |
|
|
|
||||
|
Je tente à droite d'une fonction qui utilise un descripteur de fichier à écrire dans un fichier journal. Le problème est que la déclaration sur l'imprimé le descripteur de fichier est appelé mauvais. Maintenant, quand j'ai ouvert le fichier à imprimer et à la fonction f_open passant par le descripteur de f_print_log tous fonctionne bien, cependant, quand je suis retourné le descripteur de fichier à logtest.sh et puis essayer de les transmettre aux f_print_log-je obtenir de mauvais descripteur de fichier. Toute aide serait appréciée. Voici mes fonctions de script et l'appel:
********* Ces fonctions font partie de f_log.sh fonction f_open_log ( next_fh \u003d $ LOG_FH_COUNTER eval "exec $ next_fh> $ 1" f_print_log $ next_fh "Log fichier ouvert" ((LOG_FH_COUNTER \u003d LOG_FH_COUNTER + 1)) echo $ () next_fh return 0 ) fonction f_print_log ( print-u $ 1 $ 2 return 0 ) ************************************************** * logtest.sh -> #! / bin / ksh . f_log.sh LOG_FH_COUNTER typeset-i \u003d 3 LOG \u003d $ (f_open_log bigfile) f_print_log $ LOG "Ceci est un test" sortie |
|
||||
|
J'ai trouvé ce qui est à l'origine du mauvais descripteur de fichier, mais je ne sais pas comment obtenir le funcitonallity je veux travailler. J'ai laissé une sortie de ligne de la fonction f_print_log que j'ai essayé de ne pas faire de mon poste de long. La fonction devrait être
fonction f_print_log ( [[$ VERBOSE \u003d\u003d 0]] & & print $ 2 print-u $ 1 $ 2 return 0 ) Donc, si je le VERBOSE option logtest.sh, la production devrait être écrit à l'écran et le dossier, cependant, quand f_open_log est appelé et il écrit le "Log fichier ouvert" à l'aide des deux sous-f_print_log le descripteur de fichier et que la ligne sont envoyés retour à logtest.sh qui génère les mauvais descripteur. Toute suggestions. Je tiens à garder l'ouverture du fichier journal en ligne si je peux. Merci. |
|
||||
|
Je ne pense pas que le descripteur va persister dans le shell parent lorsque vous l'exécutez à l'intérieur de backticks. Au moins c'est le cas ici, avec Bash.
|
![]() |
| Bookmarks |
| Thread Tools | Recherche sur ce Thread |
| Modes d'affichage | Rate this thread |
|
|