zoukankan      html  css  js  c++  java
  • shell

    以例子学习shell:

    1、镜像版本发布脚本

    (1、shell环境:

        #!指定shell脚本的解析器
    (2、第一个shell脚本:
        vi build.sh
        chmod +x ./build.sh #使脚本具有执行权限
        ./build.sh #执行脚本
    (3、变量:赋值与使用:
        直接赋值:your_name="wqd"
        语句赋值:for file in `ls /etc` # 将/etc 下目录的文件名循环出来。

        变量可以重复赋值。新的覆盖旧的

        使用变量: echo ${your_name}  #花括号帮助解释器识别变量边界。建议一直加养成好的习惯。

        只读变量: readonly your_name

        删除变量: unset your_name

    (4、字符串:

        单引号:

            单引号里的任何字符都会原样输出,单引号字符串中的变量是无效的

            单引号字串中不能出现单引号(对单引号使用转义符后也不行)。

        双引号: 单引号不能的,他能。

        拼接字符串:

            greeting_1="hello, ${your_name} !"

        获取字符串长度:

             string="abcd"

             echo ${#string} #输出 4

    (5、数组:

        array_name=(value0 value1 value2 value3)

        array_name[0]=value0

        length=${#array_name[*]}

    (6、执行脚本的时候。可以像脚本内传递参数。

      脚本内接收参数的格式为:

      $0 表示执行的文件名

      $n 第n个参数。

      增加可执行权限:chmod +x build.sh 

    【`】,学名叫“倒引号”, 如果被“倒引号”括起来, 表示里面需要执行的是命令。
    比如 `dirname $0`, 就表示需要执行 dirname $0 这个命令

    【“”】 , 被双引号括起来的内容, 里面 出现 $ (美元号: 表示取变量名) `(倒引号: 表示执行命令) (转义号: 表示转义), 其余的才表示字符串。
    【’‘】, 被单引号括起来的内容, 里面所有的都表示串, 包括上面所说的 三个特殊字符。

    在命令行状态下单纯执行 $ cd `dirname $0` 是毫无意义的。因为他返回当前路径的"."。
    这个命令写在脚本文件里才有作用,他返回这个脚本文件放置的目录,并可以根据这个目录来定位所要运行程序的相对位置(绝对位置除外)。

      

       



    vi build.sh

    #!/bin/bash

    # 当前目录
    cd `dirname $0`  
    CDIR=`pwd`

    git pull
    #拉取分支内容

    version="$1"  # 如果自定义版本号。将器传入进来。
    if [ -z "$version" ]; then   #判断是否是自定义的版本号。不是的话。就日期使用当前系统日期。
    version=`date +%Y%m%d%H%M%S`
    fi

    mvn clean install -Dmaven.test.skip=true #打包项目

    docker build -t docker.demo.com/store/demo:1.0_$version .  #build 镜像
    docker push docker.demo..com/store/demo:1.0_$version  #push镜像到仓库

  • 相关阅读:
    orbis 链接 .a的问题
    程序的循环结构
    程序分支控制
    字符类型及常用的函数
    数字数据类型
    基础练习
    了解计算机
    python基础练习
    markdown基本使用
    jupyterhub
  • 原文地址:https://www.cnblogs.com/smallstudent/p/6249746.html
Copyright © 2011-2022 走看看