添加到历史脚本不起作用

添加到历史脚本不起作用

我正在尝试将文件中的行添加到历史记录中,但它只添加程序代码!我做错了什么?

#!/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.txtfoobaretc

答案1

至少对我来说,似乎只需运行即可cat file.txt >> $HISTFILE。但是,正如 Xen2050 所说,除非您重新启动 bash,否则它不会更新。

答案2

首先,将您的文件直接附加到历史文件中:

cat file.txt >> ~/.bash_history

然后,为了在当前 Bash 会话中立即获取附加行,告诉它重新读取历史记录文件并将其新行附加到内存中的当前历史记录列表中:

history -r

如需更多信息,请输入help history或。man historyman bash

相关内容