Добавьте к Сценарию Истории, не работающему

Я пытаюсь добавить строки от файла до моей истории, но она просто добавляет код программы! Что я делаю неправильно?

#!/bin/bash 
HISTFILE=~/.bash_history
set -o history
cat file.txt | while read line
do
  echo "$line"
  history -s $line
done

Это добавляет cat file.txt | while read line; do echo "$line"; history -s $line; done вместо каждой строки внутри file.txt (foo,bar,etc).

-1
задан 19 April 2017 в 15:15

2 ответа

По крайней мере, мне кажется, что ты мог просто бежать cat file.txt >> $HISTFILE. Однако, как сказал Xen2050, он не будет обновляться, пока вы не перезапустите bash.

0
ответ дан 3 November 2019 в 10:27

Во-первых, добавьте свой файл непосредственно в файл истории:

cat file.txt >> ~/.bash_history

Затем для получения дополнительных строк сразу на текущей сессии Bash, говорят этому перечитывать файл истории и добавлять его новые строки к текущему списку предыстории в памяти:

history -r

Для большего количества информации, типа help history, man history или man bash.

0
ответ дан 3 November 2019 в 10:27

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

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