Я не самый продвинутый пользователь, поэтому я пробую простые решения, но они, похоже, не работают. Я хочу создать скрипт, который делает 2 вещи.
Создает файл проекта, если он существует, он удаляет его и создает новый.
if [ -f projekt ]
then
rmdir projekt
mkdir projekt
else
mkdir projekt
fi
Считывает имя файла, если оно существует, оно запрашивает новое, если вы даете правильное имя. Тогда мне нужно использовать это имя, но я понял это. Я хочу создать файл в домашней папке, поэтому ~/
.
read name
while [ -f ~/$name ]
do
echo "File exists " | read name
done
В первом случае он просто игнорирует «если» и говорит, что файл существует, во втором случае он просто идет по странному бесконечному циклу, если файл существует.
Я знаю, что это невероятно легко, но я думаю, как это исправить за 1,5 часа, и я понятия не имею, что не так.
Редактировать
Мне удалось это исправить. -f обозначает файл, поэтому его следует изменить на -d. ~ / $ name можно изменить на $ name, потому что мы в значительной степени находимся в одном каталоге. И | должен быть удален и прочитанное имя перемещено в следующую строку. Я не уверен, почему он не работает с | хотя.