IDE: NetBeans Book: Agile Web Development With Rails Installation: Instant Rails
Некоторые простые решения:
Решение 1:
tee каждую строку, которую вы хотите регистрировать независимо, используйте переключатель -a
в строке tee для добавления
#!/bin/csh -f
tar -zxf Python-3.1.1.tgz |& tee -a install.log
cd Python-3.1.1 |& tee -a install.log
./configure |& tee -a install.log
make |& tee -a install.log
make install |& tee -a install.log
cd .. |& tee -a install.log
rm -rf Python-3.1.1 |& tee -a install.log
Решение 2: Добавьте второй сценарий. Например, переименуйте текущий install.csh в install_commands, затем добавьте новый скрипт install.csh:
#!/bin/csh -f
/bin/csh install_commands |& tee install.log
Добрый день,
Я настоятельно рекомендую перейти от csh к чему-то вроде bash или zsh.
В csh невозможно манипулировать stdio. Прочтите статью « Программирование csh считается вредоносным ». Элегантный трактат по этой теме.
Извините, это не прямой ответ, но вы обнаружите, что будете биться головой об ограничениях 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
Я добавил немного больше проверок и отчетов, чтобы, если есть,