Я пытаюсь написать скрипт, который спрашивает пользователя, уверен ли он, что хочет переместить файл в определенный каталог. Сценарий должен проверять, существует ли уже файл в целевом каталоге, и если да, то спрашивать пользователя, хочет ли он перезаписать существующий файл тем, который он пытается переместить.
Как должна выглядеть проверка файла в моем операторе if? На данный момент у меня
if [[ -e /targetdirectory ]] ; then........
но это не кажется правильным решением?
Тест, который вы ищете:
[[-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
.
Попробуйте:
if [ -e filename ]; then
# something
fi
с одной квадратной скобкой