Создание, запись и сохранение файла из сценария оболочки

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

sudo nano blah#write stuff to file#save file#continue

^ Это будет внутри файла *.sh

Или есть другой способ создать простой текстовый файл в скрипте?

Для более сложных последовательностей команд вам следует рассмотреть возможность использования cat команда с помощью вот документ. Основной формат - это

command > file << END_TEXTsome text heremore text hereEND_TEXT

Существует два слегка отличающихся поведения в зависимости от того, заключена ли метка END_TEXT в кавычки или без кавычек:

  1. метка без кавычек: содержимое записывается после обычных расширений оболочки

  2. метка в кавычках: содержимое документа here обрабатывается буквально, без обычных расширений оболочки

Например, рассмотрим следующий сценарий

#!/bin/bashvar1="VALUE 1"var2="VALUE 2"cat > file1 << EOF1do some commands on "$var1" and/or "$var2"EOF1cat > file2 << "EOF2"do some commands on "$var1" and/or "$var2"EOF2

Результаты таковы

$ cat file1do some commands on "VALUE 1" and/or "VALUE 2"

и

$ cat file2do some commands on "$var1" and/or "$var2"

Если вы выводите команды оболочки из своего скрипта, вам, вероятно, нужна форма в кавычках.

Для этого нет необходимости возиться с редактором.

Вы можете добавить что-то в файл с помощью простой команды echo. Например

echo "Hello World" >> txt

Добавит "Hello world" к файлу txt. если файл не существует, он будет создан.

Или если файл, возможно, уже существует, и вы хотите его перезаписать

echo "Hello World" > txt

Для первой строки: и

echo "I'm feeling good" >> txtecho "how are you" >> txt 

Для последующих строк.

В самом простом случае .sh сценарий может просто содержать набор эхо-команд.

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

Я просто хочу создать его и написать кучу строк.

Вы просите решение что-то вроде [Autoit](AutoIt Scripting Language - AutoIt /) для Windows, которые могут автоматизировать программы с графическим интерфейсом, среди прочего, или как иметь возможность писать текст в виде сценария оболочки, например $echo "Some text" > afile.txt ?

@Zarkopafilis - Я отредактировал ваш вопрос, чтобы было понятнее, что вы имеете в виду. Если я вас неправильно понял, вы всегда можете вернуть его обратно. Я также опубликовал ответ для вас.