Как использовать file test для проверки, существует ли уже файл в каталоге

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

Как должна выглядеть проверка файла в моем операторе if? На данный момент у меня

if [[ -e /targetdirectory ]] ; then........

но это не кажется правильным решением?

0
16.12.2018, 06:12
2 ответа

Тест, который вы ищете:

[[-f / path / to / file]]

где / path / to / file - это путь к файлу, который вы тестируете, чтобы узнать, существует ли он. Вы можете поместить этот тест в условное использование (при условии, что DEST_DIR - это каталог назначения для файла SRC_FILE ):

if ! [[ -f DEST_DIR/file ]]; then
  mv SRC_FILE DEST_DIR
fi

где ! возвращает истину, если файл не существует. Это переместит SRC_FILE в DEST_DIR , если он не уже существует в DEST_DIR .

1
28.01.2020, 04:51

Попробуйте:

if [ -e filename ]; then 
# something
fi

с одной квадратной скобкой

-1
28.01.2020, 04:51

Теги

Похожие вопросы