启动QQ用的
像这样执行没有问题
cd /opt/linuxqq  
./QQ & 但是如果是
/opt/linuxqq/QQ & 
则不行
请问这是为什么?

解决方案 »

  1.   

    linux下与windows不同,/opt/linuxqq/QQ & 只是一个路劲,是不会运行的,而cd是一个命令,加上它才会执行路径所指的命令
      

  2.   

    当前目录的问题,就像Windows里面快捷方式有个 起始位置
      

  3.   

    这两句shell有什么本质的区别?
      

  4.   

    先举个例子吧,比如有个test.php放在/home/user下
    php cgi在/usr/bin/php
    绝对路径是这样启动/usr/bin/php /home/user/test.php再看相对路径(假定没有任何PATH环境变量)
    假设当前目录是/home/user
    你可以执行/usr/bin/php test.php
    这时候php会在/home/user下去找test.php,因为你的当前目录是/home/user如果你先cd /usr/bin,然后再./php test.php就会找不到
    cd的时候当前工作目录变成了/usr/bin所以程序启动时会在/usr/bin下面去找test.php所以你用/opt/linuxqq/QQ启动的时候
    当前目录是不确定的,而也许QQ内部使用了相对/opt/linuxqq的文件,这时候你不把当前目录用cd切换到/opt/linuxqq就会出问题