我试图从命令提示符调用一个函数,但我找不到正确的方法来调用它。
这是我的剧本:
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
Hello World!
sh: usuage: command not found
A helpful message!
sh: ./main.sh: line 8: syntax error near unexpected token `}'
sh: ./main.sh: line 8: `}'
sh-4.2$ . main.sh test()
sh: syntax error near unexpected token `('
你可以帮助我。
答案 0 :(得分:2)
这里有一些问题,test
函数的语法是错误的,你需要括号,
test() {
echo "Sample message"
}
export -f test
export -f
语法允许您将函数导出到shell;要从命令行运行它们,您需要在当前shell中获取脚本,
$ . ./main.sh
Hello World!
现在,您可以在从脚本导出函数后直接从命令行调用函数test
,
$ test
Sample message
NOT 的一个好习惯是函数名称为test
,因为它与shell
内置的同名。建议使用一些自定义名称。