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 err opts] != 0} { puts $err }
Ich schreibe Expect-Script, das sich auf einem entfernten Computer anmeldet und dort einige Scripts ausführt. Ich muss jedoch Folgendes überprüfen
Überprüfen Sie, ob das Verzeichnis vorhanden ist
/var/cti/adm/APP exists
Wenn APP nicht im Verzeichnis adm vorhanden ist, müssen Sie dieses Verzeichnis erstellen und diesem Verzeichnis den Eigentümer 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 Sie dieses Verzeichnis nicht erstellen müssen
Beispiel eines Teils meines Expect-Skripts
#!/usr/bin/expect -f set multiPrompt {[#>$]} send "ssh $LOGIN3@$IP\r" sleep 0.5 expect { word: expect -re $multiPrompt }
Beispiel wie wir es mit bash machen können
[[ ! -d /.../..../... ]] && mkdir xxxxx
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 err opts] != 0} { puts $err }