红联Linux门户
Linux帮助

脚本程序问题

发布时间:2011-11-09 13:42:09来源:红联作者:cf0532
#!/bin/bash
# Program:
# This program shows the user's choice
# History
# 2005/08/23 VBird First release
PATH=/bin;/sbin;/usr/bin;/usr/sbin;/usr/local/bin;/usr/local/sbin;~/bin
export PATH

read -p "Please input(Y/N):" yn
[ "$yn"=="Y" -o "$yn"=="y" ]&&echo "OK,continue"&&exit
[ "$yn"=="N" -o "$yn"=="n" ]&&echo "Oh,interrupt!"&&exit
echo "I don't know what your choice is"

我用的ubuntu版本,用sh运行以上程序,无论输入什么字符,总是输出“Ok,continue”
请问是哪里除了问题?
谢谢!
文章评论

共有 6 条评论

  1. gwssgc 于 2011-11-10 16:22:13发表:

    地板的帖子很有用啊!学习了!

  2. 相思爱文 于 2011-11-09 20:42:07发表:

    路径要用冒号:分隔
    表达式==两边要加空格
    PATH=/bin:/sbin:/usr/................
    [ "$yn" == "Y" -o "$yn" == "y" ]..........................

  3. hml1006 于 2011-11-09 16:13:48发表:

    路径貌似是用冒号分隔的 :

  4. cf0532 于 2011-11-09 15:13:46发表:

    引用:
    #!/bin/bash
    # Program:
    # This program shows the user's choice
    # History
    # 2005/08/23 VBird First release
    PATH=/bin;/sbin;/usr/bin;/usr/sbin;/usr/local/bin;/usr/local/sbin;~/bin
    export PATH

    ...
    cf0532 发表于 2011-11-9 13:42


    我是试了一下其它写法,用if then来实现,也是一样的
    估计可能是因为终端无法进行逻辑判断
    如果是这样的,应该怎么处理或者是安装什么程序?

  5. cf0532 于 2011-11-09 13:49:44发表:

    还有路径设置为:PATH=/bin;/sbin;/usr/bin;/usr/sbin;/usr/local/bin;/usr/local/sbin;~/bin
    意思是运行以下程序的时候,用到/调用该路径指定的那些程序?

    在运行的时候(root账户上)总是提示/sbin,/usr/bin;/usr/sbin;/usr/local/bin;/usr/local/sbin: Permision denied;
    /root/bin: not found.
    请问这是怎么回事?