Проверка наличия файла и папки в консоли Linux - PullRequest
0 голосов
/ 14 мая 2019

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

  1. Создает файл проекта, если он существует, он удаляет его и создает новый.

    if [ -f projekt ]
    then
      rmdir projekt
      mkdir projekt
    else 
      mkdir projekt
    fi
    
  2. Считывает имя файла, если оно существует, оно запрашивает новое, если вы даете правильное имя. Тогда мне нужно использовать это имя, но я понял это. Я хочу создать файл в домашней папке, поэтому ~/.

    read name
    
    while [ -f ~/$name ]
    do
      echo "File exists " | read name
    done
    

В первом случае он просто игнорирует «если» и говорит, что файл существует, во втором случае он просто идет по странному бесконечному циклу, если файл существует.

Я знаю, что это невероятно легко, но я думаю, как это исправить за 1,5 часа, и я понятия не имею, что не так.

Редактировать

Мне удалось это исправить. -f обозначает файл, поэтому его следует изменить на -d. ~ / $ name можно изменить на $ name, потому что мы в значительной степени находимся в одном каталоге. И | должен быть удален и прочитанное имя перемещено в следующую строку. Я не уверен, почему он не работает с | хотя.

...