这个简单的历史脚本有什么问题?

时间:2013-11-02 01:08:50

标签: bash sed

我想错过一些非常简单的东西:

$ 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'

2 个答案:

答案 0 :(得分:2)

互动炮弹有历史;脚本化的shell没有历史记录。您只能从交互式shell请求历史记录,这就是别名可以工作但脚本没有的原因。

答案 1 :(得分:0)

当您将其作为shell脚本运行时,它会生成一个没有历史记录的新shell。

尝试在同一个shell中运行它:

source ./history_search see

它应该有用。