繁体   English   中英

如何在ubuntu上的.bashrc函数或别名中使用参数?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM