Erwarten Sie, wie Sie überprüfen können, ob das Verzeichnis existiert und ob es nicht erstellt werden kann

5036
maihabunash

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 
1

1 Antwort auf die Frage

2
glenn jackman
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 }