Bash脚本编写--传参与运算

1.read命令

        read -p "请输入用户名:"  username 等同于python中的username=input("请输入用户名")

        从标准输入读取数据并赋值给变量:read var ;

        从输入读取读个内容并赋值给var1,var2,var3: read var1 var2 var3;

        不指定变量(会赋值给默认的变量REPLY):   read;

2.脚本参数传递

        $0  脚本名称

        $1~$n  获取参数

        $#    传给脚本的参数的个数

        $$    脚本运行的当前进程的进程号PID

        $*    以一个单字符串显示所有向脚本传递的参数

        $?    显示最后命令的退出状态,0表示没有错误,其余值表示有错误.

3.算数运算(注意:算数运算表达式引号为反引号` `,且各组成间的空格必须有,否则报错不好排查)

        a=10  b=20

        +    加法    `expr $a + $b`  结果为30

        -    减法    `expr $a - $b`    结果为-10

        *    乘法    `expr $a \* $b`   结果为200    (乘法*需要转义字符\转义)

        /    除法    `expr $b / $a`    结果为2 

        %    取余    `expr $a % $b`    结果为10

        =     赋值   a=$b 将变量b的值赋值给a

        ==   相等    相同时返回true   [ $a == $b ]  返回false

        !=    不相等    不相等时返回true  [ $a != $b ]   返回true

        -eq  检测相等 [ $a -eq $b ] 返回false

        -ne  检测不相等  [ $a -ne $b ]  返回true

        -gt  检测左边是否大于右边  [ $a -gt $b ]  返回false

        -lt   检测左边是否小于右边  [ $a -lt $b ]  返回true

        -le  检测左边是否小于等于右边  [ $a -le $b ] 返回true

        -ge  检测左边是否大于等于右边  [ $a -ge $b ]  返回false

4.脚本部署程序

#!/bin/bash
#Author: chuntian_tester
#Date: 2019-05-11
#Deploy flask app

# 1.打包
function pack_code
{
    tar -cvzf mynginx.tar.gz /home/mynginx  # 打包命令:tar -cvzf 打包后的名.tar.gz /待打包的目录名
                                            # 解压命令:tar -xvzf 待解压的报名.tar.gz /存放解压文件的目录名
}

# 2.上传
function upload_code
{
    {
        pass}
}

# 3.解压
PROJECT_DIR="$HOME/Projects"
PROJECT_NAME="mynginx"
CODE_PATH="/home/mynginx.tar.gz"

function unpack_code
{
    # 判断目录是否存在,不存在就创建
    if [ ! -e "${PROJECT_DIR}" ]; then
    {
        echo "${PROJECT_DIR} is not exist!"
        mkdir -p ${PROJECT_DIR} && echo "${PROJECT_DIR} create success!" || echo "${PROJECT_DIR} create failed!"
    }

    cd "${PROJECT_DIR}"

    # 判断项目是否存在,存在就删除
    [ -e "${PROJECT_NAME}" ] && rm -rf "${PROJECT_NAME}"
    
    #解压到当前目录
    tar -xvzf "${CODE_PATH}" ./ 

}

# 4。安装pythonpython3相关环境
function install_python3
{
    # 判断python3是否已安装,未安装则执行安装
    if [ ! $(python3 --version)=0 ]; then
    {
        # 以centos 用yum安装示例
        yum update -y &> /dev/null
        yum install -y python3 &> /dev/null
    } 
}

# 5。安装设置虚拟环境
function install_virtualenv
{
    # 判断虚拟环境dev01是否存在
    if [ ! -e /home/dev01 ]; then
    {
        # python -m venv "虚拟环境名" 创建虚拟环境
        python3 -m venv "dev01"
        # 使用虚拟环境
        source dev01/bin/activate
        # 进入项目,找到requirements.txt文件安装项目以来包,假设该文件在mynginx中
        cd /home/mynginx
        pip3 install -i https://pypi.douban.com/simple -r requirementx.txt 
    }
 
}

# 6。下载各种安装包及依赖
function install_extends
{
    # 合到了 上面第 5 点
}

# 7。gunicorn
function install_config_gunicorn
{
    # 安装 gunicorn
    pip3 install gunicorn
    # gunicorn启动服务
    gunicorn -w 4 -b 0.0.0.0:5000 run:app
        # -w:workers缩写,表示进程数
        # -b: 执行0.0.0.0后就可以通过ip+port访问web页面
        # run: 表示app核心对象所在的py文件:run.py中
        # app: application核心对象。
}

# 8。Nginx安装
function install_config_nginx
{

}

# 9。进程管理 supervisor
function check_process
{

}

# 10.主程序

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

chuntian_tester

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值