Je voudrais utiliser la commande “script”, j’ai le code suivant
#!/bin/bash script & wait echo "hello" echo "hello2" pid=$(pidof script | awk '{print $1}') kill -9 $pid
J’ai besoin de la commande script pour capturer la sortie, mais après la commande “script &”, la sortie est la suivante:
Script started, file is typescript Script done, file is typescript
et le script n’enregistre rien, aucune idée de pourquoi?
Voici comment vous devriez le faire:
script
Exemple:
script typescript bash -c 'echo "hello"; echo "hello2"' Script started, output file is typescript hello hello2 Script done, output file is typescript
Ensuite, vérifiez le fichier de sortie créé:
cat typescript Script started on Sat Dec 19 01:54:04 2015 hello hello2 Script done on Sat Dec 19 01:54:04 2015
Vous pouvez utiliser la commande de script
deux manières:
Enregistrer uniquement les sorties de votre code (c.-à-d. Mode batch)
$ script filename bash -c 'echo foo; echo bar'
qui va sortir
Script started, file is filename foo bar Script done, file is filename
Sauvegardez tout ce qui est affiché sur votre terminal (mode interactif). Pour mettre fin au script, tapez simplement exit
ou appuyez sur Ctrl-D
$ script filename Script started, file is filename $ echo foo foo $ echo bar bar $ exit exit Script done, file is filename
Notez que le mode batch est un hack sur la manière classique et interactive d’utiliser le script
.
Dans votre cas, oubliez simplement les éléments &
et kill
et appuyez sur Ctrl-D lorsque vous voulez que le script se termine.