簡體   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