我花了几个小时试图轻松访问我必须在某个环境中使用的最有用的命令,我有一个“不可思议”的想法,即为此目的使用历史记录,总而言之,我有一个名为 .bash_history_template 的文件使用我一直使用的那些命令,我添加了如下内容:
~/.bash_history_template >> ~/.bash_history
在 ~/.bashrc 中轻松访问我一直使用的命令的有序列表(它更复杂,但你明白了)
我的问题是:有没有其他方法,而不是使用历史记录或 fc,使用另一个命令来获取位于文件 .bash_history_template 上的现有命令,并使用非常棒的快捷方式来执行和编辑它们(例如!编号或 fc 编号)
不完全是您所要求的,而是另一种选择。
搜索您的
~/.bash_history
文件以查找经常运行的命令。分析同一命令的多个实例,寻找可以变成变量的东西。您还可以查看这些命令的手册页,了解您将来可能使用的选项——但不要为此花费太多时间或精力,专注于您已经在使用的特性/选项/参数。您可以随时更新脚本以在实际需要时添加新功能。
编写包装脚本来运行这些命令,从命令行获取变量的参数。如有必要,用于
getopts
处理脚本的选项。脚本可以是 bash、awk、perl 或任何您觉得可以轻松使用且适合手头任务的脚本。如果您使用
getopts
,请尝试使用作为有用助记符的选项字母。或其他程序共有的选项字母,尤其是类似或概念相关的程序。例如,如果您的脚本需要执行任何正则表达式匹配-i
以不区分大小写,则-v
可以反转匹配。如果它从标准输入获取项目列表(例如文件名)或在标准输出上生成一个,-z
用于 NUL 分隔的输入/输出 - 这样,您的脚本可以安全地用于其他程序的管道中(大多数 GNU 工具,例如)使用 NUL 分隔的输入。创建一个名为的目录
~/bin/
并将其添加到您的 $PATH(编辑您的~/.bashrc
or~/.bash_profile
)。将脚本保存在 ~/bin/.如果其中一些需要由多个用户(例如 root 和您的用户)运行,那么请考虑将这些脚本放入其中
/usr/local/bin/
。脚本名称将比历史行号更容易记住(并且在您使用 shell 时不会更改)。您可以为每个脚本添加注释,描述它的作用以及它需要什么参数。甚至添加一个
-h
或--help
选项。几十年来我一直在做这件事——几乎任何我做过多次并且可能做的事情都经常变成一个脚本——最难的部分是为脚本想一个有用的、描述性的名字:)
顺便说一句,我建议
git init
在您的 ~/bin/ 目录中运行,这样您就可以git
用来保存对脚本的所有更改的修订历史记录。@cas 答案和这个答案的组合解决了我的问题:
取自:https ://stackoverflow.com/questions/62667273/can-bash-write-a-command-to-the-terminal-input