LumaQQ启动脚本
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
LumaQQ启动脚本相关推荐
- ubuntu 设置开机执行脚本_ubuntu-18.04 设置开机启动脚本
ubuntu-18.04 设置开机启动脚本 参阅下列链接 ubuntu-18.04不能像ubuntu14一样通过编辑rc.local来设置开机启动脚本,通过下列简单设置后,可以使rc.local重新发 ...
- LNMP安装与启动脚本编写
1.安装mysql 1 cd /usr/local/src/ 下载mysql: 1 wget http://mirrors.sohu.com/mysql/MySQL-5.1/mysql-5.1.72- ...
- YARN-2.7.3-源码分析系列2:启动脚本原理的分析
2019独角兽企业重金招聘Python工程师标准>>> 上一节,我们把二进制和源码都下载好了,这一把,我们来启动脚本的研究,看看究竟是如何把RM和NM启动起来的! --------- ...
- mysql,mairadb启动脚本
# mysql 启动脚本,一直使用mariadb,data目录一直不对,启动一直出错,自己编写的一个小脚本 # 适用于el6 systemd脚本 如果用ansible 使用service启动会报错, ...
- LNMP之 nginx 启动脚本和配置文件
因为 nginx 启动不方便,所以我们需要自已手动来编译一个nginx 的启动脚本 [root@LNMP ~]# vim /etc/init.d/nginx #加入以下内容 #!/bin/bash# ...
- Android启动脚本init.rc(2)
在Android中使用启动脚本init.rc,可以在系统的初始化中进行简单的操作. init.rc启动脚本路径:system/core/rootdir/init.rc 内容: Commands:命令 ...
- tomcat 多实例启动脚本
为什么80%的码农都做不了架构师?>>> tomcat 多实例启动脚本 代码如下: #!/bin/sh# # Tomcat start/stop shell multiple ...
- mysql.server 文件是什么_mysql的启动脚本mysql.server及示例配置文件
以MySQL-server-4.0.14-0.i3862881064151.rpm为例,放在/data目录下 cd /data rpm -ivh MySQL-server-4.0.14-0.i386. ...
- php和nginx安装脚本,Nginx + PHP 配置和启动脚本
Nginx + PHP 配置和启动脚本,很实用 # nginx.conf server { listen 8080 ; server_name localhost; location / { root ...
最新文章
- [引]ASP.NET 中 事务处理(SqlTransaction)示例
- 数据结构的一些命名英文全称
- SQL和PL/SQL的性能优化之四---联结与子查询
- C++判断文件是否存在
- BZOJ1299 [LLH邀请赛]巧克力棒
- Maven无法下载远程依赖-强制下载也不行
- Bailian3175 验证极限【数学】
- 初窥JQuery(二)-事件机制(1)
- Parse error: syntax error, unexpected '__data' (T_STRING), expecting ',' or ')'
- 【图像隐写】基于matlab GUI变换域的可逆数字水印系统设计【含Matlab源码 1813期】
- Vue项目中国际化的语言切换
- 如何把妹子拍得更好看?
- Python报错记录之“list indices must be integers or slices, not str”
- 计算机系统实验--BombLab
- 遇到一个Bug:Android: requestLayout() improperly called
- web项目bug总结
- 第39级台阶回溯算法c语言,五大经典算法之回溯法 - osc_9ipdey7e的个人空间 - OSCHINA - 中文开源技术交流社区...
- 世界经典电影Top 50
- vue 前端中如何改变图标大小
- require.js理解