参见英文答案 >
Make a Bash alias that takes a parameter?12个答案我正在尝试定义一个别名,其中参数插入到中间,而不是附加到结尾。
我试着像这样定义它:
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 }