2009-06-19 46 views

回答

51

當然 - 在你的腳本,您要使用的功能,你可以寫如下命令

source function.sh 

這相當於在點包括function.sh內容的文件,在命令是跑。請注意0​​需要位於$PATH中的一個目錄中;如果不是,則需要指定絕對路徑。

+3

function.sh可以在你的PATH中的任何地方。如果bash處於posix模式,它不會查看當前目錄。這一切都在手冊頁中解釋。 – camh 2009-06-20 14:02:06

+0

的確,我把它和其他東西混淆了。 – 2009-06-21 23:05:51

9

是的,您可以將所有功能本地化爲一個通用文件(或多個文件)。這正是我用我所有的實用功能所做的。

. $HOME/utility.shinc 

這在當前shell的上下文中執行腳本:我在這的二手通過我的所有程序與我的主目錄有一個utility.shinc。這很重要 - 如果您只是運行include腳本,它將運行在一個子shell中,並且任何更改都不會傳播到當前shell。

您可以對腳本組執行相同的操作。如果它是「產品」的一部分,我傾向於將所有腳本和任何包含的腳本放在一個shell目錄中,以確保所有內容都已本地化。

-2

是的..你可以! 在您的腳本中添加源函數名稱。 我更喜歡創建變量eg.VAR = $(funtion_name),如果您在#!/ bin/bash之後添加源函數名,那麼您的腳本首先執行導入的函數任務,然後執行您當前的腳本任務,以便更好地創建變量並使用腳本的任何地方。 謝謝..希望你的工作:)

相關問題