Я пытаюсь добавить строки от файла до моей истории, но она просто добавляет код программы! Что я делаю неправильно?
#!/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
).
По крайней мере, мне кажется, что ты мог просто бежать cat file.txt >> $HISTFILE
. Однако, как сказал Xen2050, он не будет обновляться, пока вы не перезапустите bash.
Во-первых, добавьте свой файл непосредственно в файл истории:
cat file.txt >> ~/.bash_history
Затем для получения дополнительных строк сразу на текущей сессии Bash, говорят этому перечитывать файл истории и добавлять его новые строки к текущему списку предыстории в памяти:
history -r
Для большего количества информации, типа help history
, man history
или man bash
.