
Ich schreibe ein Skript, das sich bei einem Remote-Computer anmeldet und dort einige Skripte ausführt. Aber ich muss auch Folgendes überprüfen
Überprüfen Sie, ob Verzeichnis
/var/cti/adm/APP exists
Wenn APP nicht existiert unteradmVerzeichnis, dann müssen Sie dieses Verzeichnis erstellen und den Eigentümer zu diesem Verzeichnis hinzufügen (als Chown-System)
Bitte geben Sie an, wie Sie überprüfen können, ob das Verzeichnis im Expect-Skript vorhanden ist und ob dieses Verzeichnis ggf. erstellt werden muss.
Beispiel für einen Teil meines Expect-Skripts
#!/usr/bin/expect -f
set multiPrompt {[#>$]}
send "ssh $LOGIN3@$IP\r"
sleep 0.5
expect {
word: {send $PASS\r ; exp_continue }
expect -re $multiPrompt
}
Beispiel, wie wir es mit Bash machen können
[[ ! -d /.../..../... ]] && mkdir xxxxx
Antwort1
set dirname /var/cti/adm/APP
if {[file exist $dirname]} {
# check that it's a directory
if {! [file isdirectory $dirname]} {
puts "$dirname exists, but it's a file"
}
} else {
file mkdir $dirname
}
oder
if {[catch {file mkdir $dirname} err opts] != 0} {
puts $err
}