やあ、
I 非常にはbashやzshのような何かに向けて離れCSHから移動をお勧めします。
cshではstdio操作ができません。 「csh programming considered harmful」と読んでください。このトピックについての優雅な論文。
申し訳ありませんが、直接的な回答ではありませんが、あなたが長く固執すればするほど、cshの制約から頭を悩ますことになります。
多くのcsh構文が既にbashで利用可能になっていますので、学習曲線があまり急峻になることはありません。
ここでは、bashで書かれたものと同じものを簡単に紹介します。しかしそれはエレガントではありません。
#!/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
私は少しより多くのチェックおよびレポート追加しましたので、エラーがからかなり無用のエラー・メッセージのスタックではなく、発見されるまで、ログファイルがちょうど含まれています、以前の段階で問題がある場合いずれにしても完了しない後の段階。
歓声、
ありがとう。私は、エレガントなソリューションにつながることがわからないいくつかのトリックがあるかもしれないと思っていた。 –
2つのスクリプトに+1します。でも、あなたはcshに固執すべきだとは思っていません!( - : –