Мне нужно создать текстовый файл (если он еще не существует) и записать новую строку в файл, используя bash.
Я уверен, что это просто, но может ли кто-нибудь мне это объяснить?
Если вы хотите, чтобы это было сценарием, следующий сценарий Bash должен делать то, что вы хотите (плюс сообщать вам, когда файл уже существует):
#!/bin/bash
if [ -e $1 ]; then
echo "File $1 already exists!"
else
echo >> $1
fi
Если вы не хотите, чтобы сообщение «уже существует», вы можете использовать:
#!/bin/bash
if [ ! -e $1 ]; then
echo >> $1
fi
Изменить об использовании:
Сохраните любую версию с именем, которое вам нравится, скажем «create_file» (цитирую мои, вы не хотите, чтобы они были в имени файла). Затем, чтобы сделать файл исполняемым, в командной строке выполните:
chmod u+x create_file
Поместите файл в каталог на своем пути , затем используйте его с:
create_file NAME_OF_NEW_FILE
$ 1 - это специальная переменная оболочки, которая принимает первый аргумент в командной строке после имени программы; т.е. $ 1 подберет NAME_OF_NEW_FILE в приведенном выше примере использования.
Создание текстового файла в unix можно выполнить с помощью текстового редактора (vim, emacs, gedit и т. Д.). Но то, что вы хотите, может быть примерно таким
Это поместит текст «вставить здесь текст» в файл myfile.txt. Чтобы убедиться, что это сработало, используйте команду «cat».
Если вы хотите добавить в файл, используйте это
источник
Предполагая, что вы имеете в виду команды оболочки UNIX, просто запустите
echo
печатает новую строку, и>>
командный интерпретатор сообщает оболочке добавить эту новую строку в файл, создавая, если он еще не существует.Однако, чтобы правильно ответить на вопрос, мне нужно знать, что вы хотели бы, если файл уже существует. Если вы хотите заменить его текущее содержимое, например, новой строкой, вы должны использовать
EDIT: и в ответ на комментарий Джастина, если вы хотите добавить новую строку, только если файл еще не существует, вы можете сделать
По крайней мере, это работает в Bash, я не уверен, работает ли это также и в других оболочках.
источник
Этот код проверяет, присутствует ли данный файл JSON пользователя в тестовом домашнем каталоге или нет. Если его нет, он создаст его вместе с содержимым. Вы можете изменить расположение файла и его содержимое в соответствии с вашими потребностями.
источник
Ваш вопрос немного расплывчатый. Это команда оболочки, которая, как мне кажется, делает то, что вы хотите:
источник