我经常使用几个文件。例如一些配置文件或日志文件。假设 Apache 日志文件。我经常想tail
或grep
它。而不是写:
tail -50 /var/log/apache2/error_log
我更喜欢写
tail -50 apachelog
因此,它apachelog
用作此文件名的别名。但是如果我在 my 中定义一个别名bashrc
,它需要是一个完整的命令;它(显然)不能是文件名的别名,以便您以后可以引用它。有没有办法实现这一目标?
注意:我有各种各样的文件和要运行的各种不同的命令,因此为所有这些不同的选项创建函数或别名不是我的首选解决方案。
Gil*_*il' 10
您可以定义一个变量,并使用 a$
来调用它的值:
apachelog=/var/log/apache2/error_log
tail -50 $apachelog
Run Code Online (Sandbox Code Playgroud)
你不会在 bash 中做得更好。在 zsh 中,您可以定义全局别名,这些别名在命令行中随处扩展:
alias -g apachelog=/var/log/apache2/error_log
tail -50 apachelog
Run Code Online (Sandbox Code Playgroud)
但我不推荐它,因为现在如果你想将字符串apachelog
作为参数传递给命令,你需要记住引用它。
您可以创建一个函数并“向后”编写您的命令
apachelog() {
"$@" /var/log/apache2/error_log
}
apachelog tail -50
Run Code Online (Sandbox Code Playgroud)