Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我想念一些非常简单的东西:
$ 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'
交互式外壳有历史;脚本化的 shell 没有历史。您只能从交互式 shell 询问历史,这就是别名有效但脚本无效的原因。
当您将其作为 shell 脚本运行时,它会生成一个没有历史记录的新 shell。
尝试像这样在同一个 shell 中运行它:
source ./history_search see
它应该可以工作。