远程运行Shell脚本时输出文件为空

我有一个添加到shell脚本中的命令mpstat 1 10 | awk '/^Average/ {print 100-$NF,"%"}' >test.txt &。脚本如下:

#!/usr/bin/ksh
HOST=`hostname` 
if [ "$HOST" = "host1" ] || [ "$HOST" = "host2" ] || [ "$HOST" = "host3" ]
then
 start="yes"
else
 start="no"
fi

if test $start =  "yes"
then
  P="/home/bin/user/"
  F=$(hostname)_$(date +"%Y%m%d_%H%M")
  mpstat 1 3600 | awk '/^Average/ {print 100-$NF,"%"}' >$P$F.txt &
fi

当我用腻子(从我的电脑)运行此脚本时-一切正常,我得到的文件具有正确的名称和内容(平均cpu,7,04%)。

但是我的主要目标是在jenkins中自动运行此scrpt,所以我在jenkins工作中的第一步是:

cd C:\PuTTY
plink -ssh -T -i "path_to_ssh_private_key.ppk" -m file.txt -load sessionname 00.00.000.00

在我的file.txt中,我有两个命令:

cd /home/bin/user/
sh mpstat_collect.sh

此plink命令正确启动,没有错误,shell脚本也正在运行,没有任何错误。问题是我的输出文件为空。远程启动会在正确的文件夹中创建具有正确名称的输出文件,但是此文件中没有任何内容。没有使用cpu的行,根本没有平均值。

我的mpstat和awk命令是从命令行运行的,但不能远程运行。怎么了

jjl249144301 回答:远程运行Shell脚本时输出文件为空

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/2350290.html

大家都在问