我正在處理腳本,並且我希望輸出被隱藏,除非出現問題。一切都工作正常,除了文件只包含輸出的前幾行,並且所有內容仍然顯示在窗口中。如何將輸出存儲到日誌而不是回顯
elif [ $input = "3" ]; then
echo "enter package name"
read package
apt-get build-dep $package
apt-get install $package -y >> /var/log/installlog
exitstatus=$(echo $?)
if [ $exitstatus = "0" ]; then
figlet Installation Successful
else
echo "Failure check /var/log/installlog"
figlet check now?
echo "y or n"
read input2
if [ $input2 = "y" ]; then
cat /var/log/installlog
fi;
fi;
當我檢查installlog文件我得到
Reading package lists...
Building dependency tree...
Reading state information...
Reading package lists...
Building dependency tree...
Reading state information...
Reading package lists...
Building dependency tree...
Reading state information...
我使用tee命令審判,得到了類似的結果
「2>&1」究竟做了什麼? –
這種工作,但終端仍然打印「E:無法找到包vvhfdjghdrkj 」,而不是將它放在文件 –
到目前爲止我得到這個「apt-get install $ package -y 2>&1>/var/log/installlog 2>&1「,它的工作原理是如何讓它在終端中,但由於某種原因,當我在腳本中運行該代碼時,它仍然會打印輸出。它仍然把輸出的文件,但我不希望它打印 –