2017-03-18 35 views
0

我想從命令提示符調用一個函數,但我找不到調用它的正確方法。如何調用函數

這是我的腳本:

echo "Hello World!" 

test { 

    echo "Sample message" 
} 

我嘗試以下方法:

sh-4.2$ main.sh test                                      
Hello World!                                        
./main.sh: line 5: usuage: command not found                                
A helpful message!                                      
./main.sh: line 8: syntax error near unexpected token `}'                             
./main.sh: line 8: `}'                   


sh-4.2$ . main.sh test()                                     
sh: syntax error near unexpected token `(' 

你能幫我解決這個問題嗎?

+0

@Inian,剛剛添加。 – user3181365

+0

使用我的答案在下面! – Inian

回答

2

夫婦在這裏的問題,爲test函數的語法是錯誤的,你需要周圍有括號,

test() { 
    echo "Sample message" 
} 

export -f test 

export -f語法允許您將功能輸出到shell;從你需要源腳本,在當前shell作爲命令行運行它們,

$ . ./main.sh 
Hello World! 

現在你可以直接在命令行從腳本已經遠銷之後調用函數test

$ test 
Sample message 

另外一個很好的做法不是有功能名稱test,因爲它是同名的shell內置。推薦使用一些自定義名稱。