$ cat messing_script.sh
#!/bin/sh
ext=`date '+%m%d%H%M'`
host=`hostname`
datalog=/export/admin/imsimta
dire=`date '+%m%d'`
datadir=$datalog/$host/$dire
if [ ! -d $datadir ]
then
mkdir -p $datadir 2> /dev/null
fi
dir1=/opt/sun/comms/messaging64/sbin/
cd $dir1
sleep 5
./imsimta qm
sleep 2
top > $datadir/$ext 2> /dev/null
exit
答案 0 :(得分:1)
imsimta
,如果它生成一个shell,可能支持运行字符串的选项。尝试以下之一:
./imsimta qm -c "top > $datadir/$ext"
或
./imsimta qm << EOF > $datadir/$ext
top
EOF
第二种情况可能比echo top | ./imsimta qm
更容易,但是heredoc可以根据需要更容易扩展。这些都不能保证有效,它们取决于imsimta
的实施方式。我强烈建议您在有工作脚本之前不要丢弃stderr。