通过ssh登录后,我想在远程计算机上运行shell脚本。
这是我的代码。
#!/bin/bash
USERNAME=user
HOSTS="172.20.16.120"
为$ {HOSTS}中的HOSTNAME;做
sshpass -p密码ssh -t -t $ {USERNAME} @ $ {HOSTNAME}
echo [QACOHORT-INFO] Space Before clean up
df -h
callworkspace()
{
if [ "$?" = "0" ];
then
for i in `ls`; do
if [ "$1" = "workspace" ] && echo "$i" | grep -q "$VERSION_WS" && [ "$VERSION_WS" != "" ];
then
echo [QACOHORT-INFO] Removing files-in:
pwd
rm -rf $i
echo [QACOHORT-INFO] Removed: $i
fi
if echo "$i" | grep -q "wasabi$VERSION_HUDSON" && [ "$VERSION_HUDSON" != "" ];
then
echo [QACOHORT-INFO] Removing files-in $i
rm -rf $i/*
elif echo "$i" | grep -q "wasabiSDK$VERSION_HUDSON" && [ "$VERSION_HUDSON" != "" ];
then
echo [QACOHORT-INFO] Removing files-in $i
#rm -rf $i/*
fi
done
fi
}
unamestr=`uname`
if [ "$unamestr" = "Linux" ];
then
cd /home/jenkin/workspace/Hudson/
callworkspace
cd /home/jenkin/workspace/Hudson/workspace
callworkspace workspace
echo [QACOHORT-INFO] Removing temp files
rm -rf /tmp/tmp*
rm -rf ~/.local/share/Trash/*
else [ "$unamestr" = "Darwin" ];
cd /Users/ITRU/ws/Hudson/
callworkspace
cd /Users/ITRU/ws/Hudson/workspace
callworkspace workspace
echo [QACOHORT-INFO] Removing temp files
rm -rf /tmp/tmp*
rm -rf ~/.Trash/*
fi
unamestr=`uname -o`
if [ "$unamestr" = "Cygwin" ];
then
cd D:/work/Hudson
callworkspace
cd D:/work/Hudson/workspace
callworkspace workspace
fi
echo [QACOHORT-INFO] Space after clean up
df -h
done
exit 0
通过ssh登录后,我需要在ssh之后仅作为 shell 脚本运行以下几行。我不想将这些行保留在.sh文件中并运行。我需要在 Jenkins 中运行它。有人可以帮忙吗?
最佳答案
我建议您遵循以下步骤:
名称:remotemachine1
值(value):172.20.16.120
名称:USERNAME
值:用户
如果您还有其他具体问题,请告诉我。