Skip to content

Commit 18d2a58

Browse files
committed
update
1 parent e1773d6 commit 18d2a58

File tree

21 files changed

+1732
-356
lines changed

21 files changed

+1732
-356
lines changed

codes/expect/远程登录.sh

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
#!/usr/bin/expect -f
2+
3+
# -----------------------------------------------------------------------------------------------------
4+
# expect 交互式脚本示例 - 自动远程登录,并在其他机器上创建一个文件
5+
# @author Zhang Peng
6+
# -----------------------------------------------------------------------------------------------------
7+
8+
# 设置变量
9+
set USER "root"
10+
set PWD "XXXXXX"
11+
set HOST "127.0.0.2"
12+
# 设置超时时间
13+
set timeout 400
14+
15+
# 远程登录
16+
spawn ssh -p 22 $USER@$HOST
17+
expect {
18+
"yes/no" { send "yes\r"; exp_continue }
19+
"password:" { send "$PWD\r" }
20+
}
21+
22+
# 在其他机器上创建
23+
expect "#"
24+
send "touch /home/demo.txt\r"
25+
expect "#"
26+
send "echo hello world >> /home/demo.txt\r"
27+
expect "#"
28+
# 退出
29+
send "exit\r"

codes/linux/lib/docker.sh

Lines changed: 18 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,41 +1,34 @@
11
#!/usr/bin/env bash
22

3-
# ------------------------------------------------------------------------------
4-
# 构建 Docker 镜像 脚本
5-
# @author Zhang Peng
6-
# @since 2020/1/14
7-
# ------------------------------------------------------------------------------
8-
9-
# 装载其它库
103
LINUX_SCRIPTS_LIB_DIR=`dirname ${BASH_SOURCE[0]}`
114
source ${LINUX_SCRIPTS_LIB_DIR}/utils.sh
125

136
dockerBuild() {
147
if [[ ! $1 ]] || [[ ! $2 ]] || [[ ! $3 ]]; then
158
logError "you must input following params in order:"
16-
echo -e "${C_B_RED}"
9+
echo -e "${ENV_COLOR_B_RED}"
1710
echo " (1) source"
1811
echo " (2) repository"
1912
echo " (3) tag"
20-
echo -e "\nEg. dockerBuild /home/workspace dunwu/dockerApp 0.0.1"
21-
echo -e "${C_RESET}"
22-
return ${FAILED}
13+
echo -e "\nEg. dockerBuild /home/workspace tdh60dev01:5000/fide/fide-processor fide-0.0.6-SNAPSHOT"
14+
echo -e "${ENV_COLOR_RESET}"
15+
return ${ENV_FAILED}
2316
fi
2417

2518
local source=$1
2619
local repository=$2
2720
local tag=$3
2821

2922
dockerCheck ${source}
30-
if [[ "${SUCCEED}" != "$?" ]]; then
31-
return ${FAILED}
23+
if [[ "${ENV_SUCCEED}" != "$?" ]]; then
24+
return ${ENV_FAILED}
3225
fi
3326

3427
cd ${source}
3528
callAndLog docker build -t ${repository}:${tag} .
36-
if [[ "${SUCCEED}" != "$?" ]]; then
29+
if [[ "${ENV_SUCCEED}" != "$?" ]]; then
3730
logError "docker build -t ${repository}:${tag} failed"
38-
return ${FAILED}
31+
return ${ENV_FAILED}
3932
fi
4033

4134
cd -
@@ -44,18 +37,17 @@ dockerBuild() {
4437
dockerPush() {
4538
if [[ ! $1 ]] || [[ ! $2 ]]; then
4639
logError "you must input following params in order:"
47-
echo -e "${C_B_RED}"
40+
echo -e "${ENV_COLOR_B_RED}"
4841
echo " (1) repository"
4942
echo " (2) tag"
50-
echo -e "\nEg. dockerBuild dunwu/dockerApp 0.0.1"
51-
echo -e "${C_RESET}"
52-
return ${FAILED}
43+
echo -e "\nEg. dockerBuild tdh60dev01:5000/fide/fide-processor fide-0.0.6-SNAPSHOT"
44+
echo -e "${ENV_COLOR_RESET}"
45+
return ${ENV_FAILED}
5346
fi
5447

5548
local repository=$1
5649
local tag=$2
5750

58-
# 如果 docker 镜像已存在,则删除镜像
5951
local dockerHashId=$(docker image ls | grep ${repository} | grep ${tag} | awk '{print $3}')
6052
if [[ ! ${dockerHashId} ]]; then
6153
logInfo "try to delete existed image: ${repository}:${tag}"
@@ -66,22 +58,22 @@ dockerPush() {
6658
callAndLog docker push ${repository}:${tag}
6759
}
6860

69-
# 判断指定路径下是否为 docker 工程
70-
# @param $1: 第一个参数为 docker 项目路径
61+
# check Dockerfile
62+
# @param $1: project path
7163
dockerCheck() {
7264
local source=$1
7365
if [[ -d "${source}" ]]; then
7466
cd ${source}
7567
if [[ -f "${source}/Dockerfile" ]]; then
76-
return ${YES}
68+
return ${ENV_YES}
7769
else
7870
logError "Dockerfile is not exists"
79-
return ${NO}
71+
return ${ENV_NO}
8072
fi
8173
cd -
82-
return ${YES}
74+
return ${ENV_YES}
8375
else
8476
logError "${source} is not valid docker project"
85-
return ${NO}
77+
return ${ENV_NO}
8678
fi
8779
}

codes/linux/lib/git.sh

Lines changed: 36 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,23 @@
11
#!/usr/bin/env bash
22

3-
# ------------------------------------------------------------------------------
4-
# Git 基本操作脚本
3+
# -----------------------------------------------------------------------------------------------------
4+
# git operation utils
55
# @author Zhang Peng
6-
# ------------------------------------------------------------------------------
6+
# -----------------------------------------------------------------------------------------------------
7+
8+
# ------------------------------------------------------------------------------ load libs
79

8-
# 装载其它库
910
LINUX_SCRIPTS_LIB_DIR=`dirname ${BASH_SOURCE[0]}`
1011

1112
if [[ ! -x ${LINUX_SCRIPTS_LIB_DIR}/utils.sh ]]; then
12-
logError "必要脚本库 ${LINUX_SCRIPTS_LIB_DIR}/utils.sh 不存在!"
13+
logError "${LINUX_SCRIPTS_LIB_DIR}/utils.sh not exists!"
1314
exit 1
1415
fi
1516

1617
source ${LINUX_SCRIPTS_LIB_DIR}/utils.sh
1718

18-
# ------------------------------------------------------------------------------ git 操作函数
19+
20+
# ------------------------------------------------------------------------------ functions
1921

2022
GIT_LOCAL_BRANCH=
2123
getGitLocalBranch() {
@@ -27,37 +29,36 @@ getGitOriginBranch() {
2729
GIT_ORIGIN_BRANCH=$(git rev-parse --abbrev-ref --symbolic-full-name "@{u}")
2830
}
2931

30-
# 检查指定的路径是不是一个 git 项目
32+
# check specified path is git project or not
3133
checkGit() {
3234
local source=$1
3335
if [[ -d "${source}" ]]; then
34-
cd ${source} || return ${NO}
35-
# (1)删除git状态零时文件
36+
cd ${source} || return ${ENV_NO}
37+
# (1) delete gitstatus.tmp
3638
if [[ -f "gitstatus.tmp" ]]; then
3739
rm -rf gitstatus.tmp
3840
fi
3941

40-
# (2)判断git是否可用
42+
# (2) check git status
4143
git status &> gitstatus.tmp
4244
local gitStatus=false
4345
grep -iwq 'not a git repository' gitstatus.tmp && gitStatus=false || gitStatus=true
4446
rm -rf gitstatus.tmp
4547
if [[ ${gitStatus} == true ]]; then
46-
return ${YES}
48+
return ${ENV_YES}
4749
else
48-
return ${NO}
50+
return ${ENV_NO}
4951
fi
5052

51-
return ${NO}
53+
return ${ENV_NO}
5254
fi
5355

54-
logError "${source} is invalid dir."
55-
return ${NO}
56+
logWarn "${source} is not exists."
57+
return ${ENV_NO}
5658
}
5759

58-
# clone 或 fetch 操作
59-
# 如果本地代码目录已经是 git 仓库,执行 pull;若不是,则执行 clone
60-
# 依次传入 Git 仓库、Git 项目组、Git 项目名、分支、本地代码目录
60+
# execute git clone or fetch
61+
# params: Git repository, git group, git project, git branch, local path
6162
cloneOrPullGit() {
6263

6364
local repository=$1
@@ -68,12 +69,12 @@ cloneOrPullGit() {
6869

6970
if [[ ! ${repository} ]] || [[ ! ${group} ]] || [[ ! ${project} ]] || [[ ! ${branch} ]] || [[ ! ${root} ]]; then
7071
logError "Please input root, group, project, branch."
71-
return ${FAILED}
72+
return ${ENV_FAILED}
7273
fi
7374

7475
if [[ ! -d "${root}" ]]; then
7576
logError "${root} is not directory."
76-
return ${FAILED}
77+
return ${ENV_FAILED}
7778
fi
7879

7980
local source=${root}/${group}/${project}
@@ -82,52 +83,49 @@ cloneOrPullGit() {
8283
mkdir -p ${root}/${group}
8384

8485
checkGit ${source}
85-
if [[ "${YES}" == "$?" ]]; then
86-
# 如果 ${source} 是 git 项目,执行 pull 操作
87-
cd ${source} || return ${FAILED}
86+
if [[ "${ENV_YES}" == "$?" ]]; then
87+
cd ${source} || return ${ENV_FAILED}
8888

89+
git fetch --all
8990
git checkout -f ${branch}
90-
if [[ "${SUCCEED}" != "$?" ]]; then
91+
if [[ "${ENV_SUCCEED}" != "$?" ]]; then
9192
logError "<<<< git checkout ${branch} failed."
92-
return ${FAILED}
93+
return ${ENV_FAILED}
9394
fi
9495
logInfo "git checkout ${branch} succeed."
9596

9697
getGitOriginBranch
97-
git fetch --all
9898
git reset --hard ${GIT_ORIGIN_BRANCH}
99-
if [[ "${SUCCEED}" != "$?" ]]; then
99+
if [[ "${ENV_SUCCEED}" != "$?" ]]; then
100100
logError "<<<< git reset --hard ${GIT_ORIGIN_BRANCH} failed."
101-
return ${FAILED}
101+
return ${ENV_FAILED}
102102
fi
103103
logInfo "git reset --hard ${GIT_ORIGIN_BRANCH} succeed."
104104

105105
git pull
106-
if [[ "${SUCCEED}" != "$?" ]]; then
106+
if [[ "${ENV_SUCCEED}" != "$?" ]]; then
107107
logError "<<<< git pull failed."
108-
return ${FAILED}
108+
return ${ENV_FAILED}
109109
fi
110110
logInfo "git pull succeed."
111111
else
112-
# 如果 ${source} 不是 git 项目,执行 clone 操作
113-
114112
git clone "${repository}:${group}/${project}.git" ${source}
115-
if [[ "${SUCCEED}" != "$?" ]]; then
113+
if [[ "${ENV_SUCCEED}" != "$?" ]]; then
116114
logError "<<<< git clone ${project} failed."
117-
return ${FAILED}
115+
return ${ENV_FAILED}
118116
fi
119117
logInfo "git clone ${project} succeed."
120118

121-
cd ${source} || return ${FAILED}
119+
cd ${source} || return ${ENV_FAILED}
122120

123121
git checkout -f ${branch}
124-
if [[ "${SUCCEED}" != "$?" ]]; then
122+
if [[ "${ENV_SUCCEED}" != "$?" ]]; then
125123
logError "<<<< git checkout ${branch} failed."
126-
return ${FAILED}
124+
return ${ENV_FAILED}
127125
fi
128126
logInfo "git checkout ${branch} succeed."
129127
fi
130128

131129
logInfo "Clone or pull git project [$2/$3:$4] succeed."
132-
return ${SUCCEED}
130+
return ${ENV_SUCCEED}
133131
}

codes/linux/lib/java.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ startServer() {
9494

9595
# >>>> 3. create log dir and console log file
9696
mkdir -p ${LOG_PATH}
97-
if [[ ! -f ${CONSOLE_LOG} ]]; then
97+
if [[ ! -x ${CONSOLE_LOG} ]]; then
9898
touch ${CONSOLE_LOG}
9999
fi
100100

codes/linux/lib/maven.sh

Lines changed: 23 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,37 +1,41 @@
11
#!/usr/bin/env bash
22

3-
# ------------------------------------------------------------------------------
4-
# maven 项目操作脚本
3+
# -----------------------------------------------------------------------------------------------------
4+
# maven operation utils
55
# @author Zhang Peng
6-
# ------------------------------------------------------------------------------
6+
# -----------------------------------------------------------------------------------------------------
7+
8+
# ------------------------------------------------------------------------------ load libs
79

8-
# 装载其它库
910
LINUX_SCRIPTS_LIB_DIR=`dirname ${BASH_SOURCE[0]}`
1011

1112
if [[ ! -x ${LINUX_SCRIPTS_LIB_DIR}/utils.sh ]]; then
12-
echo "必要脚本库 ${LINUX_SCRIPTS_LIB_DIR}/utils.sh 不存在!"
13+
echo "${LINUX_SCRIPTS_LIB_DIR}/utils.sh not exists!"
1314
exit 1
1415
fi
1516

1617
source ${LINUX_SCRIPTS_LIB_DIR}/utils.sh
1718

18-
# 执行 maven 操作
19-
# @param $1: 第一个参数为 maven 项目路径
20-
# @param $2: 第二个参数为 maven 操作,如 package、install、deploy
21-
# @param $3: 第三个参数为 maven profile 【非必填】
19+
20+
# ------------------------------------------------------------------------------ functions
21+
22+
# execute maven lifecycle operation
23+
# @param $1: maven project path
24+
# @param $2: maven lifecycle, eg. package、install、deploy
25+
# @param $3: maven profile [optional]
2226
mavenOperation() {
2327
local source=$1
2428
local lifecycle=$2
2529
local profile=$3
2630

2731
mavenCheck ${source}
28-
if [[ "${SUCCEED}" != "$?" ]]; then
29-
return ${FAILED}
32+
if [[ "${ENV_SUCCEED}" != "$?" ]]; then
33+
return ${ENV_FAILED}
3034
fi
3135

3236
if [[ ! "${lifecycle}" ]]; then
3337
logError "please input maven lifecycle"
34-
return ${FAILED}
38+
return ${ENV_FAILED}
3539
fi
3640

3741
local mvnCli="mvn clean ${lifecycle} -DskipTests=true -B -U"
@@ -47,25 +51,25 @@ mavenOperation() {
4751

4852
callAndLog "${mvnCli}"
4953
cd -
50-
return ${SUCCEED}
54+
return ${ENV_SUCCEED}
5155
}
5256

53-
# 判断指定路径下是否为 maven 工程
54-
# @param $1: 第一个参数为 maven 项目路径
57+
# check specified path is maven project or not
58+
# @param $1: maven project path
5559
mavenCheck() {
5660
local source=$1
5761
if [[ -d "${source}" ]]; then
5862
cd ${source}
5963
if [[ -f "${source}/pom.xml" ]]; then
60-
return ${YES}
64+
return ${ENV_YES}
6165
else
6266
logError "pom.xml is not exists"
63-
return ${NO}
67+
return ${ENV_NO}
6468
fi
6569
cd -
66-
return ${YES}
70+
return ${ENV_YES}
6771
else
6872
logError "please input valid maven project path"
69-
return ${NO}
73+
return ${ENV_NO}
7074
fi
7175
}

0 commit comments

Comments
 (0)