Вопрос: ожидать +, как проверить, существует ли dir, и если нет, как его создать


Я пишу сценарий ожидания, который заходит на удаленный компьютер и запускает там некоторые скрипты Но мне нужно также проверить следующее

Убедитесь, что каталог

  /var/cti/adm/APP exists

Если APP не существует в адм каталог, затем необходимо создать этот каталог и добавить право собственности в этот каталог (как система chown)

Пожалуйста, совет, как проверить, существует ли каталог в сценарии ожиданий, и если не нужно создавать этот каталог

пример части сценария ожидания

 #!/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
2017-09-02 13:38


Источник




Ответы:


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
}

2
2017-09-02 17:03