我使用以下代码写入名为maintainence.log
`LOCALHOST:>less wrap.sh | grep avsp
avsp=$
(df -kh | grep "/global/backups" | awk -F " " '{ print $4 }'
2>&1
echo "Info $DATE: Available diskspace $avsp" >> maintainence.log
但是当我运行脚本wrap.sh LOCALHOST:>./wrap.sh
时,我得到了以下输出:
df: `/lfs/wwwmnt/lt2-p-web-intra1': Stale NFS file handle
df: `/lfs/wwwmnt/lt2-p-web-intra1': Stale NFS file handle
但是,我的意图是将Errors和STDout写入文件maintainence.log
。
答案 0 :(得分:1)
你基本上是在说:
var=$(command) >> maintainence.log 2>&1
这样重定向不会影响command
的执行。相反,将重定向放在$()
中以将stderr重定向到stdout并稍后将echo
重定向到它:
var=$(command 2>&1)
echo "$var" >> maintenance.log
在你的情况下:
avsp=$(df -kh | grep "/global/backups" | awk -F " " '{ print $4 }' 2>&1)
echo "Info $DATE: Available diskspace $avsp" >> maintainence.log