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