2017-05-09 77 views
1

Bash函數比別名更通用。例如,they accept parameters使用函數而不是別名有什麼缺點嗎?

有什麼缺點要全功能的風格和完全下降的別名,即使是簡單的情況下?我可以想象,功能可能更耗費資源,但沒有數據可以支持。

任何其他理由讓我的一些別名?他們有更簡單的語法,更容易讓人閱讀,但除此之外呢?

+0

我只是覺得,別名容易建立保持簡單的實例。不知道,有一個資源超過本身。 –

+0

別名只可使用命令行來縮短,而功能在腳本中使用和更強大的命令,別名默認情況下不會在腳本中工作,在腳本的可讀性會更加重要。 –

回答

1

注:別名優先於函數。關於函數的開銷

下面的鏈接可能是相關的,似乎沒有開銷比較別名:3.6. Functions, Aliases, and the Environment

引述丹再次:「殼牌功能大約有效率,因爲他們可以是的大概相當於採購一個bash/Bourne shell腳本保存,沒有文件I/O需要做的功能已經在內存中。外殼的功能通常是由加載[.bashrc或者.bash_profile中]取決於你是否希望他們只在最初的殼或者在子shell中運行一個shell腳本:將你的shell腳本與shell腳本對比,孩子執行exec操作,可能會搜索路徑,內核打開文件並檢查足夠的字節以確定如何運行文件,在這種情況下一個shell腳本a shell必須以腳本的名稱作爲參數來啓動,shell然後打開文件,讀取它並執行語句。相比於外殼的功能,不是執行的語句其他一切都可以被認爲是不必要的開銷。」

+0

感謝。因此下降別名功能沒有除可維護性之外的缺點。 – dangonfast

相關問題