I am try to execute a block of commands on a different server using a shell script
Can anyone please help me on this
while [ $RecordCount -gt 0 ]
do
ex
This will do essentially what you're asking for:
while [[ $RecordCount -gt 0 ]]
do
field1=$( sed -n ${RecordCount}p ${GUID_DLT_EXPR_FILE} | cut -d'|' -f1 )
field2=$( sed -n ${RecordCount}p ${GUID_DLT_EXPR_FILE} | cut -d'|' -f2 )
run_dt=$( sed -n ${RecordCount}p ${GUID_DLT_EXPR_FILE} | cut -d'|' -f3 )
dir="/sas/ADH/exXd_${field1}"
id_path="$dir/version_${field2}
latest="$id_path/latest"
archives="id_path/archives"
ssh ${REMOTE_SERVER:?} "if [[ -d $id_path ]] &&
ls -d $latest/* > /dev/null 2>& 1
then
mv -f $latest/* $archives
else
mkdir -p $latest $archives
fi"
update_recordcount
done
exit 0
BTW, you will need to provide your own versions of:
update_recordcount
(function) -- make sure it counts down to zero somehow.Just stream those commands into ssh stdin, like:
ssh remoteserver << EOF
command1
command2
command3
...
EOF
<<
here means here-doc - a multiline quote.