2 Star 6 Fork 5

吉客固件(dugiware)/dugitools

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
900.install_zdgsys.sh 4.63 KB
一键复制 编辑 原始数据 按行查看 历史
#!/bin/bash
#-------------------------------------------------
function pok(){ (echo -e "\033[47;42m$*\033[0m";) }
function sok(){ (echo -e "\033[32;01m$*\033[0m";) }
function perr(){ (echo -e "\033[47;41m$*\033[0m";) }
function serr(){ (echo -e "\033[31;01m$*\033[0m";) }
function pdone(){ (echo -e "\033[47;42m$*\033[0m";) }
function perro(){ (echo -e "\033[47;41m$*\033[0m";) }
function pwarn(){ (echo -e "\033[30;43m$*\033[0m";) }
function pnote(){ (echo -e "\033[47;45m$*\033[0m";) }
function pshow(){ (echo -e "\033[47;46m$*\033[0m";) }
function pshow(){ (echo -e "\033[47;46m$*\033[0m";) }
function pinfo(){ (echo -e "\033[30;44m$*\033[0m";) }
function pecho(){ (echo -e "\033[30;47m$*\033[0m";) }
function sdone(){ (echo -e "\033[32;01m$*\033[0m";) }
function sinfo(){ (echo -e "\033[34;01m$*\033[0m";) }
function swarn(){ (echo -e "\033[33;01m$*\033[0m";) }
function serro(){ (echo -e "\033[31;01m$*\033[0m";) }
function snote(){ (echo -e "\033[35;01m$*\033[0m";) }
function sshow(){ (echo -e "\033[36;01m$*\033[0m";) }
#-------------------------------------------------
#模块名称
tag=install_zdgsys
rdir=/run/${tag}
#调试信息控制文件:enable/disable
dbgtf=${rdir}/01.dbgtf
#日志文件存放目录
logsf=${rdir}/02.logsf
#logsf=/dev/console
#-------------------------------------------------
#日志存放函数
tlog()
{
if [ ! -d ${rdir} ]; then
mkdir -p ${rdir}
chmod 777 ${rdir}
fi
tv=$(date +%y%m%d-%H:%M:%S)
if [ -f ${logsf} ]; then
logsize=$(stat -c %s ${logsf})
if [ ${logsize} -ge 3145728 ]; then
/bin/echo "${tag}($tv):" $@ > ${logsf}
else
/bin/echo "${tag}($tv):" $@ >> ${logsf}
fi
else
/bin/echo "${tag}($tv):" $@ > ${logsf}
fi
}
#-------------------------------------------------
#调试检测函数
dbgckc()
{
if [ ! -f $dbgtf ]; then
export logsf=${rdir}/02.logsf
return 0
fi
retstr=$(cat $dbgtf)
if [ "xenable" == "x$retstr" ]; then
export logsf=/dev/console
else
export logsf=${rdir}/02.logsf
fi
return 0
}
#调试设置函数
dbgset()
{
if [ -z "$1" ]; then
return 1
fi
if [ "x1" == "x$1" ]; then
echo enable > $dbgtf
else
echo disable > $dbgtf
fi
return 0
}
#-------------------------------------------------
#打印文件版本
sfver()
{
file_md5=$(md5sum $0|awk {'print $1'})
echo "-----------------------------------------------------"
echo "md5sum: ${file_md5}"
}
sfver $@
#-------------------------------------------------
#打印帮助信息
susage()
{
echo "-----------------------------------------------------"
echo "使用方法"
echo "start 安装zdgsys"
echo "dbgoff 打开调试信息"
echo "dbgoff 关闭调试信息"
}
##################################################
#填写脚本处理函数
##################################################
iscygwin=$(uname -a | grep -i cygwin)
if [ -n "${iscygwin}" ]; then
export MSUDO=""
else
export MSUDO=sudo
fi
setup_zdgsys()
{
curhome=~
dstfile=/etc/profile.d/zdgsys.sh
#dstroot=${curhome}
dstroot=
if [ -f $dstfile ]; then
isinstalled=$(cat $dstfile | grep zdgsys | grep -v grep)
else
isinstalled=""
fi
${MSUDO} mkdir -p ${dstroot}/zdgsys/ > /dev/null 2>&1
${MSUDO} rm -rf ${dstroot}/zdgsys/* > /dev/null 2>&1
${MSUDO} cp -rf ./zdgsys/* ${dstroot}/zdgsys/
if [ $? -ne 0 ]; then
serro "安装失败!"
return 1
fi
sinfo "[GO] 创建文件: $dstfile"
${MSUDO} bash -c "echo export PATH=${dstroot}/zdgsys/zbin:\\\$PATH > $dstfile"
${MSUDO} bash -c "echo export PATH=${dstroot}/zdgsys/zcmd:\\\$PATH >> $dstfile"
if [ -z "${LD_LIBRARY_PATH}" ]; then
${MSUDO} bash -c "echo export LD_LIBRARY_PATH=${dstroot}/zdgsys/zlib >> $dstfile"
else
${MSUDO} bash -c "echo export LD_LIBRARY_PATH=${dstroot}/zdgsys/zlib:\\\${LD_LIBRARY_PATH} >> $dstfile"
fi
snote "程序目录 :/zdgsys/zbin"
snote "脚本目录 :/zdgsys/zcmd"
snote "库文件目录:/zdgsys/zlib"
sdone "安装成功!"
return 0
}
#以NTP更新作为例子
inner_start()
{
pnote "安装shell ..."
./001.setup_shell.sh
source ~/.bashrc
pnote "安装vim ..."
./002.setup_vim.sh
pnote "安装zdgsys ..."
setup_zdgsys
pnote "生效环境 ..."
source /etc/environment
source /etc/profile
if [ -f ~/.profile ]; then
source ~/.profile
fi
return 0
}
inner_stop()
{
sdone "[OK] stop $tag"
return 0
}
##################################################
#-------------------------------------------------
#主函数
__main()
{
cmd=$1
dbgckc
if [ "xstart" == "x$cmd" ]; then
inner_start $@
elif [ "xstop" == "x$cmd" ]; then
inner_stop $@
elif [ "xdbgon" == "x$cmd" ]; then
dbgset 1
echo [OK]
elif [ "xdbgoff" == "x$cmd" ]; then
dbgset 0
echo [OK]
else
susage $@
fi
return 0
}
__main $@
#-------------------------------------------------
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Shell
1
https://gitee.com/dugiware/dugitools.git
git@gitee.com:dugiware/dugitools.git
dugiware
dugitools
dugitools
master

搜索帮助