Проверьте, существуют ли файлы в каталоге - PullRequest
0 голосов
/ 08 июня 2019

Я хочу проверить, существуют ли некоторые файлы в каталоге.Если да, я хочу пропустить эти файлы и не выполнять никаких действий.Если нет, то я хочу выполнить некоторую процедуру.

Пусть, скажем, в каталоге /setup/server У меня есть следующие файлы:

systems-server01
systems-server02
system-server03
system-server04

Если я запускаю команду ./add-system.sh system-server05, мой код долженвыполните процедуру readline и добавьте новый сервер.

Но если я выполню команду ./add-system.sh system-server04, мой код должен повторить "Сервер уже существует, пожалуйста, введите новый сервер".

Вот чтоУ меня пока что

#!/bin/bash
DOMAIN=my.home.fs.cville.com
if [ $# -lt 1]; then
   echo "Please enter filename\n"
   exit
fi

#I think this is where I need to do the check if files exist but I have 
#problem figure out how to do it

while read line ; do
    alt=(${line[@]}
    hostname=${alt[0]}
    ipaddress=${$alt[1]}
    mac=${alt[2]}
    iface=${alt[3]}
    profile=${alt[4]}

    copper system add --cobber --name=$hostname --profile=$profile --ip- 
    address=$ipaddress \ --interface=$iface --mac=$mac 
    --hostname=$hostname --dns-name=${hostname}.$DOMAIN
done<$1
copper sync

1 Ответ

2 голосов
/ 08 июня 2019

Да, где находится ваш блок комментариев, вы можете добавить проверку вроде:

if [ -e /setup/server/"$1" ]; then
    echo "file exists, nothing to do"
    exit
fi

См. «Справочный тест» для различных доступных тестов.'[' является синонимом слова 'test'

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...