Я не хочу писать файл вручную, таким образом, я сделал сценарий оболочки. Существует ли способ записать и сохранить файл автоматически, не заставляя пользователя нажать клавиши?
sudo nano blah
#write stuff to file
#save file
#continue
^ Это будет в *.sh файле
Или есть ли другой способ создать простой текстовый файл в сценарии?
Для более сложных последовательностей команд необходимо рассмотреть использование эти cat
команда с здесь документ . Основной формат
command > file << END_TEXT
some text here
more text here
END_TEXT
существует два тонко различных поведения, зависящие, заключается ли маркировка END_TEXT в кавычки или закрыла кавычки:
закрывший кавычки маркируют : содержание записано после того, как обычные расширения оболочки
заключенный в кавычки маркируют : содержание здесь документ рассматривают буквально, без обычных расширений оболочки
, Например, рассматривают следующий сценарий
#!/bin/bash
var1="VALUE 1"
var2="VALUE 2"
cat > file1 << EOF1
do some commands on "$var1"
and/or "$var2"
EOF1
cat > file2 << "EOF2"
do some commands on "$var1"
and/or "$var2"
EOF2
, который результаты
$ cat file1
do some commands on "VALUE 1"
and/or "VALUE 2"
и
$ cat file2
do some commands on "$var1"
and/or "$var2"
при выводе команд оболочки из сценария Вы, вероятно, хотите заключенную в кавычки форму.
Нет никакой потребности иметь предосудительные отношения с редактором, чтобы сделать это.
можно добавить что-то в файл с простой командой эха. Например
echo "Hello World" >> txt
добавит "Привет мир" к файл txt
. если файл не будет существовать, то он будет создан.
Или если файл может уже существовать и Вы хотите перезаписать его
echo "Hello World" > txt
Для первой строки: и
echo "I'm feeling good" >> txt
echo "how are you" >> txt
Для последующих строк.
В он самым простым .sh
, сценарий мог просто содержать ряд команд эха.