![添加到历史脚本不起作用](https://linux22.com/image/892609/%E6%B7%BB%E5%8A%A0%E5%88%B0%E5%8E%86%E5%8F%B2%E8%84%9A%E6%9C%AC%E4%B8%8D%E8%B5%B7%E4%BD%9C%E7%94%A8.png)
我正在尝试将文件中的行添加到历史记录中,但它只添加程序代码!我做错了什么?
#!/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
至少对我来说,似乎只需运行即可cat file.txt >> $HISTFILE
。但是,正如 Xen2050 所说,除非您重新启动 bash,否则它不会更新。
答案2
首先,将您的文件直接附加到历史文件中:
cat file.txt >> ~/.bash_history
然后,为了在当前 Bash 会话中立即获取附加行,告诉它重新读取历史记录文件并将其新行附加到内存中的当前历史记录列表中:
history -r
如需更多信息,请输入help history
或。man history
man bash