J'essaye de porter un script bash existant vers Solaris et FreeBSD. Cela fonctionne très bien sur Fedora et Ubuntu.Problème de portage de script bash lié au programme de script
Ce script bash utilise l'ensemble de commandes suivant pour vider la sortie vers le fichier temporaire.
file=$(mktemp)
# record test_program output into a temp file
script -qfc "test_program arg1" "$file" </dev/null &
Le programme de script n'a pas d'options -qfc sur FreeBSD et Solaris. Sous Solaris et FreeBSD, le programme de script n'a d'option -a. J'ai fait ce qui suit jusqu'à maintenant:
1) mise à jour vers la dernière version de bash. Cela n'a pas aidé.
2) Essayez de savoir où se trouve exactement le code source du programme "script". Je ne pouvais pas le trouver non plus.
Quelqu'un peut-il m'aider ici?
https://git.kernel.org/pub/scm/utils/util-linux/util-linux.git/tree/term-utils/ script.c – melpomene
Pourquoi est-il nécessaire de capturer la sortie avec 'script'? Généralement, le programme est utilisé pour des sessions interactives. Si vous voulez juste capturer stdout et stderr utilisez la redirection '>" $ file "2> & 1' à la place. – ceving
Je pense que la sortie du programme n'est pas immédiatement vidée. C'est pourquoi le programme de script est utilisé. –