2014-10-06 47 views
1

我正在使用bash腳本來調用不同文件中的函數。但是,該功能似乎沒有運行。我無法弄清楚這裏有什麼問題。以下是腳本的一部分:Bash腳本調用不同文件中的函數

#!/bin/bash 
source utility 
res=$(InterCombinations) 

檔案:實用

InterCombinations() 
{ 
    ... 
    echo "InterCombinations is called" 
} 

請讓我知道如果你需要更多的信息。

謝謝。

+2

嘗試指定「實用程序」的路徑,例如「source。/ utility」。還要確保你正在執行'echo'$ res「'來驗證正確的執行。 – perreal 2014-10-06 05:13:30

+1

請注意,要查找的文件是相對於當前工作目錄查找的,而不是保存腳本的目錄。 – 5gon12eder 2014-10-06 05:55:47

+1

你應該總是在你的Bash腳本的頂部添加'set -e',這樣當發生錯誤時它們會停止。 – 2014-10-06 06:00:54

回答

1

只要實用程序文件位於當前工作目錄中,腳本就可以工作。 你可以把或回聲變量:

set -x 

在主腳本來觀看在執行的步驟:

#!/bin/bash -ex 
set -x 
source utility 
res=$(InterCombinations) 

您在保存調用函數的輸出變量,而不是附和/將其打印到「標準輸出」。

相關問題