Shell脚本-自动化部署WEB
2015-11-17 11:42
519 查看
导言:最近在阿里云服务器上搭建了个个人的网站,对于这个网站采用了Django框架开发,搭建服务器请查看:/article/9506500.html,对于WEB的更新采用了Shell脚本,每次更新只需要更新SVN代码,运行下Shell脚本,代码就上线了,大赞Shell
1.直接主题看Shell脚本
2.Shell的一些基础知识
建议不会Shell可以去看看这份文档:http://c.biancheng.net/cpp/shell/
定义变量: variableName=”value”
使用变量: your_name=”mozhiyan” echo $your_name
删除变量: unset variable_name
变量类型:局部变量、环境变量、shell变量
Shell特殊变量:Shell 0,0, #, ∗,*, @, ?,?, $和命令行参数
Shell替换:Shell变量替换,命令替换,转义字符
\\ 反斜杠
\a 警报,响铃
\b 退格(删除键)
\f 换页(FF),将当前位置移到下页开头
\n 换行
\r 回车
\t 水平制表符(tab键)
\v 垂直制表符
Shell运算符:
Shell注释:和python一样 #号
Shell字符串:
Shell数组:
Shell echo命令:
shell printf命令:格式化输出语句
Shell if else语句:
Shell case esac语句:
Shell for循环:
Shell while循环:
Shell until循环:
Shell break和continue命令:
Shell函数:
Shell函数参数:
PS:本人服务器网站正在备案审核中,阿里云备案还是轻松很多,备案完成后,敬请期待:www.xuyangting.com,现在可以域名访问:120.24.239.214
阳台测试: 239547991(群号)
本人博客:http://xuyangting.sinaapp.com/
1.直接主题看Shell脚本
#!/bin/sh rm -rf MyProject/ svn co svn://120.24.239.214/repo0/MyProject cp /root/file/django_wsgi.py /root/MyProject/Yangtai/ cp /root/file/uwsgi_socket.xml /root/MyProject/Yangtai/ pid=`lsof -i:9090 | awk '{print $2}'` echo $pid for i in $pid do kill -9 $i done cd MyProject/Yangtai/ uwsgi -x uwsgi_socket.xml nginx -s reload
2.Shell的一些基础知识
建议不会Shell可以去看看这份文档:http://c.biancheng.net/cpp/shell/
定义变量: variableName=”value”
使用变量: your_name=”mozhiyan” echo $your_name
删除变量: unset variable_name
变量类型:局部变量、环境变量、shell变量
Shell特殊变量:Shell 0,0, #, ∗,*, @, ?,?, $和命令行参数
Shell替换:Shell变量替换,命令替换,转义字符
\\ 反斜杠
\a 警报,响铃
\b 退格(删除键)
\f 换页(FF),将当前位置移到下页开头
\n 换行
\r 回车
\t 水平制表符(tab键)
\v 垂直制表符
Shell运算符:
#!/bin/sh a=10 b=20 val=`expr $a + $b` echo "a + b : $val" val=`expr $a - $b` echo "a - b : $val" val=`expr $a \* $b` echo "a * b : $val" val=`expr $b / $a` echo "b / a : $val" val=`expr $b % $a` echo "b % a : $val" if [ $a == $b ] then echo "a is equal to b" fi if [ $a != $b ] then echo "a is not equal to b" fi
Shell注释:和python一样 #号
Shell字符串:
your_name='qinjx' str="Hello, I know your are \"$your_name\"! \n"
Shell数组:
#!/bin/sh NAME[0]="Zara" NAME[1]="Qadir" NAME[2]="Mahnaz" NAME[3]="Ayan" NAME[4]="Daisy" echo "First Index: ${NAME[0]}" echo "Second Index: ${NAME[1]}"
Shell echo命令:
name="OK" echo "$name It is a test"
shell printf命令:格式化输出语句
$ printf "%d %s\n" 1 "abc"
Shell if else语句:
#!/bin/sh a=10 b=20 if [ $a == $b ] then echo "a is equal to b" fi if [ $a != $b ] then echo "a is not equal to b" fi
Shell case esac语句:
echo 'Input a number between 1 to 4' echo 'Your number is:\c' read aNum case $aNum in 1) echo 'You select 1' ;; 2) echo 'You select 2' ;; 3) echo 'You select 3' ;; 4) echo 'You select 4' ;; *) echo 'You do not select a number between 1 to 4' ;; esac
Shell for循环:
for loop in 1 2 3 4 5 do echo "The value is: $loop" done
Shell while循环:
COUNTER=0 while [ $COUNTER -lt 5 ] do COUNTER='expr $COUNTER+1' echo $COUNTER done
Shell until循环:
#!/bin/bash a=0 until [ ! $a -lt 10 ] do echo $a a=`expr $a + 1` done
Shell break和continue命令:
#!/bin/bash while : do echo -n "Input a number between 1 to 5: " read aNum case $aNum in 1|2|3|4|5) echo "Your number is $aNum!" ;; *) echo "You do not select a number between 1 to 5, game is over!" break ;; esac done
Shell函数:
#!/bin/bash # Define your function here Hello () { echo "Url is http://see.xidian.edu.cn/cpp/shell/" } # Invoke your function Hello
Shell函数参数:
#!/bin/bash funWithParam(){ echo "The value of the first parameter is $1 !" echo "The value of the second parameter is $2 !" echo "The value of the tenth parameter is $10 !" echo "The value of the tenth parameter is ${10} !" echo "The value of the eleventh parameter is ${11} !" echo "The amount of the parameters is $# !" # 参数个数 echo "The string of the parameters is $* !" # 传递给函数的所有参数 } funWithParam 1 2 3 4 5 6 7 8 9 34 73
PS:本人服务器网站正在备案审核中,阿里云备案还是轻松很多,备案完成后,敬请期待:www.xuyangting.com,现在可以域名访问:120.24.239.214
阳台测试: 239547991(群号)
本人博客:http://xuyangting.sinaapp.com/
相关文章推荐
- 正则表达式
- HBase 常用Shell命令
- shell加法
- shell加法
- (转自张戈博客)Linux系统防CC攻击自动拉黑IP增强版Shell脚本
- Linux运维利器之ClusterShell
- Xshell生成密钥key(用于Linux 免密码登录)
- Window设置CMD和GitBash一致
- shell 实例收集
- liunx shell 常用命令
- linux shell 编程 12 重定向
- php调用shell脚本(web端和客户端同时实现)
- shell实现ftp命令
- Cmake_mysql_5.5.32.sh---shell_V1
- shell统计
- shell统计
- Metasploit - Powershell
- -bash-4.1# 出现这个的时候解决办法
- bash的基本功能(别名、快捷键、历史命令)
- linuxShell之一 文件读取 循环与分支