我在尝试此操作时在执行脚本时没有给出参数时显示默认的帮助文本:
if [[ $@ ]]; then
do stuff
else displayHelp;
fi
displayHelp() {
echo "some helptext"
}
Run Code Online (Sandbox Code Playgroud)
但出于某种原因,在控制台上执行脚本时,它说:
./myScript.sh: Line 48: displayHelp: Command not found
Run Code Online (Sandbox Code Playgroud)
当我通过-h
参数调用此函数时也会出现同样的情况
必须先定义函数才能使用它们.所以在调用之前先把方法放进去:
displayHelp() {
echo "some helptext"
}
if [[ $@ ]]; then
do stuff
else displayHelp;
fi
Run Code Online (Sandbox Code Playgroud)
或者将您的主代码放在另一个方法中,并在脚本的末尾调用它:
main() {
if [[ $@ ]]; then
do stuff
else displayHelp;
fi
}
displayHelp() {
echo "some helptext"
}
main "$@"
Run Code Online (Sandbox Code Playgroud)