簡體   English   中英

bash函數可以在不同的腳本中使用嗎?

[英]Can a bash function be used in different scripts?

我有一個要在不同腳本中引用和使用的函數。 有什么辦法嗎? 我不想為不同的腳本重寫相同的功能。 謝謝。

當然-在腳本中要使用該功能的地方,您可以編寫如下命令

source function.sh

這等效於在運行命令時在文件中包含function.sh的內容。 請注意, function.sh必須位於$PATH中的目錄之一中; 如果不是,則需要指定一個絕對路徑。

是的,您可以將所有功能本地化在一個或多個公共文件中。 這正是我對所有實用程序功能所做的工作。 我的主目錄中只有一個utility.shinc ,我的所有程序都使用它:

. $HOME/utility.shinc

它在當前shell的上下文中執行腳本。 這很重要-如果您僅運行include腳本,它將在子shell中運行,並且任何更改都不會傳播到當前shell。

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

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM