期待 + dir が存在するかどうかを確認する方法と存在しない場合は作成する方法

期待 + dir が存在するかどうかを確認する方法と存在しない場合は作成する方法

リモートマシンにログインしていくつかのスクリプトを実行するexpectスクリプトを作成しますが、次のことも確認する必要があります

ディレクトリを確認する

  /var/cti/adm/APP exists

APPが存在しない場合は管理者ディレクトリの場合は、このディレクトリを作成し、このディレクトリに所有権を追加する必要があります(chownシステムとして)

期待スクリプトにディレクトリが存在するかどうかを確認し、存在しない場合はこのディレクトリを作成する必要があるかどうかを確認する方法についてアドバイスをお願いします。

私のexpectスクリプトの一部の例

 #!/usr/bin/expect -f

 set multiPrompt {[#>$]}

 send "ssh  $LOGIN3@$IP\r"

 sleep 0.5

       expect  {

       word:  {send $PASS\r ; exp_continue } 

       expect -re $multiPrompt

       }

bashでこれを行う方法の例

     [[ ! -d /.../..../... ]] && mkdir xxxxx

答え1

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
}

または

if {[catch {file mkdir $dirname} err opts] != 0} {
    puts $err
}

関連情報