Erwartet + wie kann ich überprüfen, ob das Verzeichnis existiert und wenn nicht, wie kann ich es erstellen?

Erwartet + wie kann ich überprüfen, ob das Verzeichnis existiert und wenn nicht, wie kann ich es erstellen?

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
}

verwandte Informationen