我想使用用户的输入,然后使用 case 语句调用函数



我正在bash中工作,我正在努力获取用户的输入,然后将它们移动到一个函数中。我正在使用case语句来让它工作,这是我目前正在使用的代码:

read -n1 -p "Save to log? [y,n] " choice n
case $choice in
y|Y) echo yes ;;
n|N) echo no ;;
*) echo dont know ;;
esac
function saveToLog(){
echo Saving to log
}

我已经尝试了我认为会起作用的方法:

read -n1 -p "Save to log? [y,n] " choice n
case $choice in
y|Y) saveToLog() ;;
n|N) echo no ;;
*) echo dont know ;;
esac
function saveToLog(){
echo Saving to log
}

但是这不起作用,我已经做了一些谷歌搜索,我找不到使用case语句的解决方案,因为我想继续使用这个系统。

谢谢。:)

saveToLog后面不需要():

#!/bin/bash
read -n1 -p "Save to log? [y,n] " choice n
case $choice in
y|Y) saveToLog ;;
n|N) echo "no" ;;
*) echo "dont know" ;;
esac
function saveToLog(){
echo "Saving to log"
}

callsaveToLogony|Y


注意:saveToLog必须按原样声明(使用function关键字)才能工作。有关function()的更多信息,请查看这个Stackoverflow问题

相关内容

  • 没有找到相关文章

最新更新