Как получить содержимое текстового файла с 1 строкой в ​​буфер командной строки bash?

Моя цель - быстро восстановить сохраненные команды bash и отредактировать команды в буфере команд bash (например, изменить аргументы, поэкспериментировать с длинными сложными командами). Когда я нажму «Enter», команда выполнится и нажав «Стрелка вверх», я снова получу команду для дальнейшего редактирования.

Например, у меня есть текстовый файл с именем textfile со следующим содержимым: ls -l Я хочу получить содержимое этого файла в командном буфере, чтобы получить user@ubuntu:~$ ls -l. Теперь я могу его изменить и повторно выполнить.

Если я добавлю бит выполнения в textfile Я могу выполнить его, но нажав стрелку вверх, устанавливает команду ./textfile в буфер команд, а не содержимое.

Аналогично, если я вхожу в $(<textfile), он также выполняет команду, но нажатие стрелки вверх, просто дает мне команду $(<textfile), а не ее содержимое

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

1
задан 9 August 2017 в 15:42

3 ответа

Буфер команд, к которому вы обращаетесь, является файлом истории bash ... история команд bash. Буфер истории записывается в ~/.bash_history при выходе из терминала. Он загружается в буфер при входе в систему.

Вы можете получить нужную строку в вашем буфере истории bash, добавив строку в ваш файл ~ / .bash_history, а затем вручную перезагрузите файл истории bash в свой буфера с помощью команды history -r.

Это пример:

$ echo "command wanted" >> ~/.bash_history && history -r

Теперь, когда вы нажимаете стрелку вверх, вы увидите команду «требуется команда» в вашем «командном буфере», .

С помощью этой командной строки вы увидите содержимое своего textfile при нажатии стрелки вверх:

$ echo $(<textfile) && cat textfile >> ~/.bash_history && history -r

Убедитесь, что ваш textfile завершен с помощью символ новой строки.

1
ответ дан 22 May 2018 в 19:39
  • 1
    Всегда пожалуйста! Вы можете подумать о принятии ответа, нажав на серое галочку. Это возвращает сообщество, что облегчает для других поиск эффективных решений. – L. D. James 10 August 2017 в 17:14

Буфер команд, к которому вы обращаетесь, является файлом истории bash ... история команд bash. Буфер истории записывается в ~/.bash_history при выходе из терминала. Он загружается в буфер при входе в систему.

Вы можете получить нужную строку в вашем буфере истории bash, добавив строку в ваш файл ~ / .bash_history, а затем вручную перезагрузите файл истории bash в свой буфера с помощью команды history -r.

Это пример:

$ echo "command wanted" >> ~/.bash_history && history -r

Теперь, когда вы нажимаете стрелку вверх, вы увидите команду «требуется команда» в вашем «командном буфере», .

С помощью этой командной строки вы увидите содержимое своего textfile при нажатии стрелки вверх:

$ echo $(<textfile) && cat textfile >> ~/.bash_history && history -r

Убедитесь, что ваш textfile завершен с помощью символ новой строки.

1
ответ дан 18 July 2018 в 08:50

Буфер команд, к которому вы обращаетесь, является файлом истории bash ... история команд bash. Буфер истории записывается в ~/.bash_history при выходе из терминала. Он загружается в буфер при входе в систему.

Вы можете получить нужную строку в вашем буфере истории bash, добавив строку в ваш файл ~ / .bash_history, а затем вручную перезагрузите файл истории bash в свой буфера с помощью команды history -r.

Это пример:

$ echo "command wanted" >> ~/.bash_history && history -r

Теперь, когда вы нажимаете стрелку вверх, вы увидите команду «требуется команда» в вашем «командном буфере», .

С помощью этой командной строки вы увидите содержимое своего textfile при нажатии стрелки вверх:

$ echo $(<textfile) && cat textfile >> ~/.bash_history && history -r

Убедитесь, что ваш textfile завершен с помощью символ новой строки.

1
ответ дан 24 July 2018 в 19:10

Другие вопросы по тегам:

Похожие вопросы: