Étant donné un fichier qui a été généré par script
, existe-t-il un moyen d'exécuter toutes ces commandes dans l'ordre, puis de vérifier si le résultat correspond à ce qui était dans le fichier de script?
Je suppose que diff
peut être utilisé pour la dernière partie, mais je ne sais pas comment faire la première. Des idées?
Utiliser un shell tcsh sur Linux (Debian, mais je doute que cela soit important).
Réponses:
modifier : Du manuel:
Cela signifie qu'il pourrait être possible de le faire dans les cas les plus simples, en recherchant des occurrences de
$PS1
dans la sortie et en exécutant la chaîne après, mais cela pourrait bientôt devenir impossible:^C
.while true; do sleep $RANDOM; echo garbage; done &
Si c'est du tout une option, je préférerais utiliser / var / log / cmdlog et voir si tout le texte produit par les commandes enregistrées se trouve n'importe où dans la liste.
script
fichier.la source
expect
. Mais cela ne ne pas lancer le sortie des commandes -(command)
est différent de$(command)
.script
Je veux dire la commandescript
pas un script que j'ai écrit. Votre réponse ne semble pas en être conscienteOk, donc l'une des sémantiques de
diff
c’est-à-dire qu’il génère du texte si les fichiers diffèrent et qu’il ne génère rien s’ils sont identiques.Fichiers donnés
foo
etbar
, voici ce que vous pouvez faire:(Votre première partie n'est pas tout à fait claire - avez-vous un exemple de sortie
out.template
etscript > out.log
et voulez vous assurer queout.template
etout.log
sont identiques? Ou autre chose?)la source
ncurses
programmes. (La page de manuel indique quethis is not what the naive user expects
).