首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >VCard=$是怎么回事(回波$REPLY _($REPLY_d‘i’d‘_( -f _ 1) )。

VCard=$是怎么回事(回波$REPLY _($REPLY_d‘i’d‘_( -f _ 1) )。
EN

Stack Overflow用户
提问于 2015-11-09 21:02:38
回答 1查看 62关注 0票数 0

当我测试下面的代码时,我得到了一个错误:

代码语言:javascript
复制
syntax error near unexpected token `)'

以下是代码:

代码语言:javascript
复制
oVideos=$Videos
Videos="Please select a video card: "
select myvideo in "Intel" \
        "Intel i915" \
        "Intel i965" \
        "NVIDIA" \
        "AMD" \
        "ATI" \
        "Radeon"
do
    if [ "$REPLY" == "quit" ]; then
        echo "OK, see you! Have a great one!"
        exit
    fi

    if [ ! -z "$myvideo" ]; then
        case $REPLY in 
            1) if [ checkVideoCard $REPLY == 0 ]; then
                echo "VIDEO_CARDS=\"intel\"" >> $MAKECONF
               fi

            2) vCard=$(echo $REPLY | cut -d'i' -f 1)
               if [ checkVideoCard $REPLY  == 0 ]; then
                echo "VIDEO_CARDS=\"intel i915\"" >> $MAKECONF
               fi
        esac
     fi
done

..。

checkVideoCard是一个旨在匹配用户选择和lspci结果的函数。不必为那事担心了。

非常感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-11-09 21:04:51

必须用;;终止与特定大小写值关联的命令。

代码语言:javascript
复制
case $REPLY in 
    1) if [ "$(checkVideoCard "$REPLY")" = 0 ]; then
           echo "VIDEO_CARDS=\"intel\"" >> $MAKECONF
       fi
       ;;
    # Because there's no difference among intel video cards, so please make sure what exact video card type you have.
    2) vCard=$(echo $REPLY | cut -d'i' -f 1)
       if [ "$(checkVideoCard "$REPLY")"  = 0 ]; then
           echo "VIDEO_CARDS=\"intel i915\"" >> $MAKECONF
       fi
       ;;
esac

问题不在于赋值,而是试图用2)开始一个新的案例,而前一个案例没有终止。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33618208

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档