Shell脚本

学习背景:

公司项目里有证书密钥相关业务用的 .sh 文件处理的,希望通过学习一些基本的概念和语法,能够大致看懂脚本文件。
学习的视频来自哔哩哔哩(https://bilibili.com/video/BV1Eq4y1z7u8?spm_id_from=333.788.player.switch&vd_source=b3ce4818ed27678f8b0409eb33a93b97&p=14)。学完前13节就可以实现我的目标了(大致读懂脚本)。以下是学习笔记:


分类:

sh(bash),csh(tcsh),ksh(lksh)

声明:

#! /bin/bash

调用:

-  /xxx.sh或./xxx.sh
        > 必须是可执行文件
        > 打开新的进程执行脚本文件

-  sh xxx.sh 
        > 不必须是可执行文件
        > 打开新的进程执行脚本文件

- source xxx.sh
        > 不必须是可执行文件
        > 在当前进程执行

export 关键字使变量对子进程可见

变量:

定义变量的时候不加美元符号;

字符串:

单引号里的任何字符都会原样输出;

双引号里面可以有变量

获取字符串长度:${#str}

截取字符串,从第2位开始取3个字符:${str:2:3}

数组:

只支持一维数组,用空格分隔,favs=("足球" "篮球"),${fav[0]} 取第一个,${fav[@]} 取所有元素,${#fav[@]} 取长度

计算:

a=10
b=20
expr $a + $b     (加号两边要有空格)
expr $a \* $b

val=`expr $a + $b`  (等号两边不要有空格)
echo $val

echo `pwd` > test.sh

read xxx  (监控键盘输入)

case 语句

#! /bin/bash
echo 输入
read num
case $num in
    1) echo 输入的1
      ;;
     2) echo 输入的2
      ;;
     *) echo 其他
      ;;
esac

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容