bash - 如何在参数位于中间的位置创建别名?

标签 bash unix shell alias sh

<分区>

我正在尝试定义一个别名,其中参数插入中间,而不是附加到末尾。

我试过这样定义它:

alias grep_logs="grep $1 */log/*.log"

其中 $1 是 grep_logs 的第一个参数,这样:

grep_logs foo

将执行以下命令:

grep foo */log/*.log

而是运行命令:

grep foo */log/*.log foo

导致错误:

grep: foo: No such file or directory

是否可以使用别名来做到这一点,还是我需要定义一个函数?

最佳答案

尝试在 ~/.profile 中定义一个函数。

function greplogs(){
    grep "$1" */logs/*.log
}

关于bash - 如何在参数位于中间的位置创建别名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7181620/

相关文章:

linux - 如何在 Linux 中从 HTTP MIME 编码消息中提取文件数据?

python - 在 Unix/c/Python 中生成事件

pdf - 如何在 postscript 文件上制作程序覆盖文本?

linux - 如何以表格格式邮寄脚本输出

linux - 遍历一个表并将该表的信息附加到另一个文件

arrays - bash 在循环中分配给数组索引时遇到问题

arrays - 如何从 Bash 中的脚本返回一个数组?

c - fork 子 "prints"重定向标准输出两次

bash - 如何忽略通过命令内置调用的命令失败?

linux - 如何在 Linux 中使用脚本停止和启动 screen 作业