[英]Howto use parameters in a function or alias in .bashrc on ubuntu?
例如,这不起作用:
man(){ man -H "$1" & }
但是我需要参数,因为我希望命令以“&”号结尾。
这也不起作用:
man(){ firefox & man -H }
如果firefox进程由人启动并且man被终止,则我不希望firefox关闭。
该参数不是问题。 递归是(最严重的即时问题)。
当您有一个名为man
call man
的函数时,它将调用自身。 您正在启动无限制的背景壳集。 使用command
将避免该递归,因为它绕过了函数查找。
一个改变我建议对于参数传递使用"$@"
,让全组参数通过,不仅是第一个通过了:
man() { command man -H "$@" & }
注意,顺便说一句,至少对于Apple使用的BSD实现, man -H
期望可以将HTML转换为文本的程序的名称作为紧随其后的参数。 例如,如果您认为man -H bash &
会在后台的Web浏览器中启动bash手册页...嗯,在您的平台上可能是这种情况,但并非普遍如此。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.