参见英文答案 >
Make a Bash alias that takes a parameter?12个
是否可以执行以下操作:
是否可以执行以下操作:
我想运行以下内容:
mongodb bin/mongod
在我的bash_profile中我有
alias = "./path/to/mongodb/$1"
别名将扩展为它所代表的字符串.别名之后的任何内容都将在其扩展后出现,而不需要或能够作为显式参数传递(例如$1).
$alias foo='/path/to/bar' $foo some args
将扩大到
$/path/to/bar some args
如果要使用显式参数,则需要使用函数
$foo () { /path/to/bar "$@" fixed args; } $foo abc 123
将被执行,就像你已经完成
$/path/to/bar abc 123 fixed args
要取消定义别名:
unalias foo
要取消定义函数:
unset -f foo
要查看类型和定义(对于每个已定义的别名,关键字,函数,内置或可执行文件):
type -a foo
或者仅键入(对于最高优先级出现):
type -t foo