AAサーバーがあり、シェルスクリプトでSSHを使用してBBサーバーに接続する必要があります。 BBサーバーからすべてのファイルとディレクトリを削除する必要があるわけではなく、指定されたフォルダが空であることを確認したいと思います。
ただし、o / pおよび印刷コマンドはサーバーAAから印刷する必要があります。
以下のスクリプトを試してください。ただし、sshの後は現在のサーバーでコマンドが実行されます。 SSHingの後には何も現れません。助けてください。
IFS='=' read -r -a param1 <<< "$1"
user=${param1[1]}
IFS='=' read -r -a param2 <<< "$2"
server=${param2[1]}
IFS='=' read -r -a param3 <<< "$3"
folder_path=${param3[1]}
ssh $user@$server <<EOF
echo $(hostname)
if [ -d $folder_path ]
then
{
cd $folder_path
rm -rf $folder_path/*
}
echo "Files under $folder_path has been deleted successfully
exit 0
else
echo "No such file/folder"
exit 1
fi
EOF
答え1
スクリプトをテストした結果、「cd $folder_path」行のみを削除すると正常に動作し、正確な順序でキーと値のペアが必要です。
./script user=username server=192.168.3.14 folder=fodername
ただし、単一のコマンドですべてのスクリプトを置き換えることができます。
ssh user@server rm -rf foldername/\*