我想定義一次,然後在任何地方使用它。如何定義在任何腳本中使用的bash函數?
回答
雖然我基本上同意eduffy,但我通常會將這些函數放在用戶主目錄中的文件中,或者如果腳本在用戶路徑中的目錄中的用戶之間共享。然後,我將在.bash_profile中生成文件(。〜/ FILE或。$(type -p FILE))。這允許您在必要時(如果需要更改內容)重新輸入文件,而無需重新登錄等。
在bash中,您可以從腳本(包含函數的文件作爲參數)運行source
並簡單地調用該函數。這是在您的.bashrc
文件中定義函數時隱式發生的情況。
是的,簡短的回答:用'source'或者單點'.'命令導入腳本 – 2016-02-21 02:29:08
將您的「常用」功能放在單獨的腳本中(讓我們打電話給我們這 「一」):
#!/bin/bash
test_fun() {
echo "hi"
}
下, 「進口」 到另一個腳本(比如, 「b」):
#!/bin/bash
. ./a
test_fun
運行bash b
將輸出 「喜」
這不適合我。但是,正如本答案所述,執行'source ../ a'工作。 http://stackoverflow.com/a/1016415/16524 – Fostah 2013-07-10 20:18:35
- 1. 如何在bash腳本中使用bash配置文件中定義的函數?
- 2. 在bash腳本中,如何運行外部定義的bash函數?
- 3. 如何在bash腳本中使用參數運行函數
- 4. 在Bash腳本中使用Expect函數
- 5. 如何在bash腳本中使用pbrun?
- 6. 如何在bash腳本中使用yad?
- 7. 如何在bash腳本中使用getopts?
- 8. 如何在bash腳本中使用wireshark
- 9. 在bash中定義一個沒有shell腳本的shell函數?
- 10. 如何使用bash腳本
- 11. 如何使用bash腳本
- 12. 如何使用bash腳本
- 13. 使用變量在bash腳本中調用特定函數
- 14. 使用已定義函數的腳本
- 15. 在bash腳本中使用bsub lsf調用bash函數
- 16. 如何在期望腳本中使用bash腳本的命令?
- 17. 如何調用腳本標記中定義的JavaScript函數?
- 18. 如何獲得在Lisp腳本中定義的函數名稱?
- 19. 如何將變量傳遞給自定義函數在bash腳本
- 20. 如何使用bash腳本在特定行打印出數據?
- 21. 執行bash腳本,定義使用Python
- 22. 如何使用kill -l在bash腳本
- 23. 如何在bash中使用函數?
- 24. 如何在腳本任務中引用自定義.NET 4.0 DLL?
- 25. 如何在所有PHP腳本中提供自定義函數?
- 26. 如何創建並在源Bash腳本的函數中使用別名?
- 27. 在bash腳本中定義變量
- 28. Linux Bash腳本使用函數返回
- 29. 如何在Java腳本構造函數中定義Java腳本方法
- 30. 如何使用PHP的bash腳本?
是的,這很好。謝謝。 – grok12 2011-06-02 18:25:14
但是任何讀者都需要意識到你必須導出這樣的函數名:export -f funcname。 – grok12 2011-06-07 04:49:39
導出對於源文件通常是可選的,因爲它們在執行它們的環境中執行。在FILE中定義的所有東西都可以在用戶的shell中用於後續腳本(除非未設置)。如果要在執行父shell期間使子變量對變量(或函數)可見,則需要導出。 – Jay 2014-03-20 17:31:58