我想错过一些非常简单的东西:
$ cat hs.sh
#!/bin/bash
echo $1
history | grep -i $1
echo $#
exit
$
这里是输出:
$ ./history_search sed
sed
1
$
尝试创建一个脚本,我可以使用'./hs.sh sed'的形式来搜索历史记录中的所有sed命令。我可以使用它创建一个别名,但是这个脚本不行。
这是别名:
alias hg='history | grep -i $1'
答案 0 :(得分:2)
互动炮弹有历史;脚本化的shell没有历史记录。您只能从交互式shell请求历史记录,这就是别名可以工作但脚本没有的原因。
答案 1 :(得分:0)
当您将其作为shell脚本运行时,它会生成一个没有历史记录的新shell。
尝试在同一个shell中运行它:
source ./history_search see
它应该有用。