LumaQQ啟動指令碼

來源:互聯網
上載者:User
LumaQQ啟動指令碼

 

#!/bin/bash

# 判斷執行檔案的類型,如果是一個符號連結,得到這個連結的目的路徑,在以前的版本中,這個任務是用
# readlink -f 命令完成的。這種作法稍微有些問題,比如你的系統裡面可能沒有readlink命令,或者低版本的
# readlink還不支援-f參數,所以在這裡先採用readlink,如果readlink失敗,則再用file命令和一個
# 模式比對來得到目的路徑。目前我不確定是否每個平linux頁面 台上的file命令都是返回symbolic link to 這種字串,
# 如果不是,把symbolic link to 替換成你的file命令返回的那樣
PREFIX=
if [ -L "$0" ]; then
PREFIX=`readlink -f $0`
if [ $? -eq 0 ]; then
PREFIX=`dirname $PREFIX`
else
PREFIX=`file $0`
PREFIX=${PREFIX##*symbolic link to }
PREFIX=`dirname $PREFIX`
fi
else
PREFIX=`dirname $0`
fi

# 在這裡我判斷得到的路徑是否是絕對路徑,如果不是絕對
# 路徑,我要再做一些處理得到絕對路徑
case $PREFIX in
/*)
;;
*)
cd $PREFIX
PREFIX=`pwd`
;;
esac

# 這裡檢查你的使用者目錄下是否有.lumaqq目錄,如果沒有,
# 會自動建立一個,使用者的所有QQ相關資訊將儲存在這個
# 目錄下,所以在多使用者的機器上,你應該把這個目錄設定
# 成唯你可讀
if [ ! -e $HOME/.lumaqq ]; then
mkdir $HOME/.lumaqq
fi

# 這裡對LumaQQ的一些目錄和檔案做一些連結,這個地方使用
# 了-f參數,所以即使你挪動了LumaQQ的目錄到另外一次地方
# 下次運行也不會受影響
cd $HOME/.lumaqq
ln -sf $PREFIX/log4j.properties $HOME/.lumaqq/log4j.properties
ln -sf $PREFIX/xml
ln -sf $PREFIX/sound
ln -sf $PREFIX/QQWry.dat $HOME/.lumaqq/QQWry.dat

# 這裡我設定Java到類路徑,LumaQQ安裝目錄下面的lib目錄
# 包含了所有需要用到的jar檔案,這些都必須加到類路徑中
cp=
for i in $PREFIX/lib/*.jar; do
cp=$i:$cp
done

# 這裡是開始運行了,為了使用者的方便,這裡嘗試3種情況,首先檢查使用者安裝的是不是帶JRE版本的,如果是
# 則使用內建的JRE。如果失敗,檢查JAVA_HOME是否設定了,如果設定了,使用JAVA_HOME,如果仍然失敗,
# 則在/usr下面找尋一個可用的JRE。如果/usr下面沒有,則再在/opt下面找尋JRE,如果/opt下面也沒有,
# 則在使用者主目錄下找尋JRE,如果還找不到,那就是真的失敗了
if [ -e $PREFIX/java ]; then
$PREFIX/java/bin/java -Djava.library.path=$PREFIX/swt -classpath $cp edu.tsinghua.lumaqq.LumaQQ "$HOME/.lumaqq" &
elif [ ! -z $JAVA_HOME ]; then
$JAVA_HOME/bin/java -Djava.library.path=$PREFIX/swt -classpath $cp edu.tsinghua.lumaqq.LumaQQ "$HOME/.lumaqq" &
else
found=0
for i in `find /usr -name "java" | grep bin`; do
if [ -x "$i" ]; then
$i -Djava.library.path=$PREFIX/swt -classpath $cp edu.tsinghua.lumaqq.LumaQQ "$HOME/.lumaqq" &
found=1
break
fi
done

if [ $found -eq 0 ]; then
for i in `find /opt -name "java" | grep bin`; do
if [ -x "$i" ]; then
$i -Djava.library.path=$PREFIX/swt -classpath $cp edu.tsinghua.lumaqq.LumaQQ "$HOME/.lumaqq" &
found=1
break
fi
done
fi

if [ $found -eq 0 ]; then
for i in `find $HOME -name "java" | grep bin`; do
if [ -x "$i" ]; then
$i -Djava.library.path=$PREFIX/swt -classpath $cp edu.tsinghua.lumaqq.LumaQQ "$HOME/.lumaqq" &
break
fi
done
fi
fi

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.