pour le script suivant
Utilisation prévue: p> ./install.csh |& tee install.log
3 Réponses :
g'day,
i hautement strong> Je vous recommande de m'éloigner de CSH vers quelque chose comme Bash ou ZSH. P> La manipulation de Stdio n'est pas possible dans csh. Avoir une lecture de " Programmation de la CSH considérée comme nocive ". Un tarification élégant sur ce sujet. P> Désolé, ce n'est pas une réponse directe, mais vous constaterez que vous allez frapper votre tête contre les contraintes de CSH, plus vous vous en tenez plus longtemps. P> Beaucoup de syntaxe de CSH sont déjà disponibles dans Bash afin que votre courbe d'apprentissage ne soit pas trop raide. P> Voici une suggestion rapide pour la même chose écrite à Bash. Ce n'est pas élégant cependant. P> #!/bin/bash
TO_LOGFILE= "| tee -a ./install.log"
tar -zxf Python-3.1.1.tgz 2>&1 ${TO_LOGFILE}
if [ $? -ne 0 ];then
echo "Untar of Python failed. Exiting..."; exit 5
fi
cd Python-3.1.1 2>&1 ${TO_LOGFILE}
if [ $? -ne 0 ];then
echo "Can't change into Python dir. Exiting..."; exit 5
fi
echo "============== configure ================"
./configure 2>&1 ${TO_LOGFILE}
if [ $? -ne 0 ];then
echo "Configure failed. Exiting..."; exit 5
fi
echo "================ make ==================="
make 2>&1 ${TO_LOGFILE}
if [ $? -ne 0 ];then
echo "Compile of Python failed. Exiting..."; exit 5
fi
echo "================ install ================"
make install 2>&1 ${TO_LOGFILE}
if [ $? -ne 0 ];then
echo "Install of Python failed. Exiting..."; exit 5
fi
cd ..
rm -rf Python-3.1.1 2>&1 ${TO_LOGFILE}
exit 0
@Shelly, oups. oublié que vous vouliez dupliquer la console.
Certaines solutions simples:
Solution 1:
TEE Chaque ligne que vous souhaitez connecter de manière indépendante, utilisez solution 2: ajoutez un deuxième script.
Par exemple, renommez actuellement installer.Csh à installer_commands,
Ajoutez ensuite un nouveau script Install.CSH: P> -A code> commutateur de tee à ajouter p>
#!/bin/csh -f
/bin/csh install_commands |& tee install.log
Merci. Je pensais qu'il pourrait y avoir une autre astuce que je ne savais pas de mener à une solution élégante.
Oooh. Bon appel à la diviser en deux scripts. +1 Néanmoins, ne pensez pas que vous devriez rester avec CSH! (-:
Vous pouvez l'exécuter dans un sous-vase et rediriger toute la sortie de cela. Ne vous souvenez pas si cela fonctionne dans CSH, cela a été long et longtemps depuis que je l'ai utilisé.
#!/bin/csh -f ( tar -zxf Python-3.1.1.tgz cd Python-3.1.1 ./configure make make install cd .. rm -rf Python-3.1.1 ) |& tee install.log