【发布时间】:2016-01-26 16:53:57
【问题描述】:
我正在编写一个脚本,我希望隐藏输出,除非出现问题。一切正常,除了文件只包含前几行输出并且所有内容仍显示在窗口中。
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;
当我检查安装日志文件时,我得到了
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: Unable to locate package vvhfdjghdrkj”而不是将其放入文件中
-
到目前为止,我得到了这个“apt-get install $package -y 2>&1> /var/log/installlog 2>&1”,它可以在终端中按我想要的方式工作,但对于某些人来说原因当我在脚本中运行该代码时,它仍然会打印输出。它仍然将输出放在文件中,但我不希望它打印
标签: linux bash logging scripting