Ich versuche, das folgende Skript auszuführen, um einen Verzeichnispfad auf einem Remote-Pfad zu finden. Ich habe keine Erfahrung mit Skripting und weiß nicht, wo ich einen Fehler mache. Kann mir bitte jemand helfen, das zu korrigieren?
!/bin/sh
ssh ssmis "echo Hello I am Logged in `hostname` and getting ready to transfer and convert your files ;source .bash_profile;array=(asd-005-cpu eims-asd-005-apcpu);
for item in ${array[*a]};
do
echo $item;
path2=find /nnn/n4/db4/health -type f "${item}" -print;
echo $path2;
done;"
Antwort1
Ändern Sie die äußersten doppelten Anführungszeichen in einfache Anführungszeichen, da Ihre aktuelle Shell sonst das, was Sie an den Remote-Server senden, interpretiert und ersetzt. Besser noch, schreiben Sie ein Skript in Remote und führen Sie dieses Skript remote aus, um Anführungszeichenprobleme zu vermeiden.