以下陈述是否有效?我试图通过案例陈述来调用函数。
#!/bin/bash
function exit
{
`...`
`...`
`...`}
function start
{
`...`
`...`
}
`Case $input in`
`-book) $(exit) ;;`
`-goal) $(start) ;;`
`*) break ;;`
`esac`
语法是否正确?
答案 0 :(得分:0)
如果您定义了一个功能:
myfunc() {
echo 'hi'
}
然后您可以在没有捕获表达式的case语句中调用该函数。你就像其他命令一样:
case "$param" in
expr) myfunc;;
*) echo 'nope';;
esac
除非你的意思,否则你不需要使用捕获表达式。在您的情况下,您所拥有的将尝试将该函数的输出作为命令本身执行:
$ double_down() {
> echo 'ping google.com'
> }
$ $(double_down)
PING google.com (74.125.226.169): 56 data bytes
可能,但似乎不太可能,你真的想要这个。