美文网首页
陈超众-Shell脚本

陈超众-Shell脚本

作者: 陈超众 | 来源:发表于2017-03-13 21:58 被阅读28次

    一. 命令基础

    /:根目录
    ~:用户目录
    ls -alF: 可连续输入几个参数

    touch: 创建文件
    cat: 查看文件

    vim : 命令行编辑器

    i:插入
    esc:退出编写
    :接受命令
    wq:保存并退出


    二. 第一个Shell脚本

    实例:

    #是一个约定的标记,它告诉系统这个脚本需要什么解释器来执行,即使用哪一种Shell
    #!/bin/bash
    echo "Hello World !"

    运行shell脚本两种方法

    1. 作为可执行程序

    #使脚本具有执行权限
    $chmod +x ./test.sh
    #执行脚本
    $./test.sh

    2. 直接运行解释器

    $/bin/sh test.sh
    $/bin/php test.php


    三. Shell变量

    定义变量

    #定义变量时不加美元$符号; 变量名与符号之间不能有空格
    your_name="chenchaozhong"

    使用变量

    your_name="chenchaozhong"
    echo $your_name
    #花括号是可选的,加花括号是为了帮助解释器识别变量的边界
    echo ${your_name}

    只读变量

    readonly your_name

    删除变量

    unset your_name

    Shell 字符串

    # 单引号里的任何字符都会原样输出,单引号字符串中的变量是无效的;单引号字串中不能出现单引号
    your_name='chenchaozhong'
    #双引号里可以有变量, 双引号里可以出现转义字符
    str="Hello, I know your are "$your_name"! \n"
    # 获取字符串长度
    echo ${#your_name}
    #提取字符串
    echo ${your_name:1:4}
    #查找子字符串, 注意反引号
    echo expr index "$your_name" on

    Shell 数组

    #定义数组,空格分开,
    数组名=(值1 值2 ... 值n)
    #获取所有数组
    echo ${array_name[@]}
    # 取得数组元素的个数
    length=${#array_name[@]}
    # 或者
    length=${#array_name[*]}

    mac Zip 常用命令

    最通俗的用法
    zip -q -r -e -m -o [yourName].zip someThing
    -q 表示不显示压缩进度状态
    -r 表示子目录子文件全部压缩为zip //这部比较重要,不然的话只有something这个文件夹被压缩,里面的没有被压缩进去
    -e 表示你的压缩文件需要加密,终端会提示你输入密码的
    // 还有种加密方法,这种是直接在命令行里做的,比如zip -r -P Password01! modudu.zip SomeDir, 就直接用Password01!来加密modudu.zip了。
    -m 表示压缩完删除原文件
    -o 表示设置所有被压缩文件的最后修改时间为当前压缩时间

    当跨目录的时候是这么操作的
    zip -q -r -e -m -o '\user\someone\someDir\someFile.zip' '\users\someDir'

    zip -r -e SuperMovieiPhone.zip SuperMovieiPhone

    相关文章

      网友评论

          本文标题:陈超众-Shell脚本

          本文链接:https://www.haomeiwen.com/subject/agwqnttx.html