shell脚本

一.引言

shell 脚本 (做操作系统配置)

ls , cp , (shell命令)

脚本将多个命令放在一个文件中

shell编程:解释型语言
        边翻译边执行
        擅长文件处理,操作系统管理
        开发效率高  cp 1  2
        执行效率低
        移植性好
    c语言:编译型语言
        先编译再执行
        擅长数据计算和数据处理
        开发效率低
        执行效率高
        移植性差

shell底层

 

二.shell脚本编写流程

        1.vim XX.sh(新建文件)  #!/bin/bash(用哪个命令解析器解析)
        2.编写脚本(打印一般用echo)
        3.chmod 777 XX.sh(改变文件权限)
        4. ./XX.sh (执行)

ll                       -  rwxrwx      - x            1       linux      linux       32AUG      3     10:35   1.sh*

- 为类型是普通文本,d:目录,b:块设备(储存设备)c:字符设备,p:管道文件(用于共享一些文件)s:套接字

r(读)w(写)x(执行)   第一个为作者权限,第二个为组用户权限(有为r为1 , 无为-为0)

x 为其他用户            linux为作者 和组用户一般情况下一致

三.shell变量

1.环境变量: env(对整个系统作用)
            PATH:保存当前工作的默认路径(操作系统)
            PWD:当前所在的工作路径
            HOME:当前登录用户的家目录
            ...
        main(int argc,char* argv[ ])   (命令行参数)

        2.位置变量:  ./3.sh /etc/passwd 123  456 内置变量
            $0:脚本文件名
            $1:传入脚本的第一个参数
            $2:传入脚本的第二个参数
            ...
            $9:

            $(10)     (注意括号)
            

            
            
            $#:传入参数的个数
            $?:上一句shell命令执行的结果
            $$:当前shell的PID

四.shell脚本输入输出
            read  a (输入)
            echo  '$a'   (注意空格的输入)
            a+b;

           "":打印字符串,遇到$变量则打印变量中的值
           '':打印字符串,遇到$变量依然打印$变量
          ``:将中间的字符串按照命令打印   (一般放命令)

加减乘除


 

 五.分支语句

1.if语句
        if 条件
        then                   (有if或者else if 后面加then)
            语句
        else
            语句
        fi

    if
    then
    
    elif [ ]
    then 
    elif [ ]
    then
    else 
    
    fi

    if [ ]
    then
    fi;

2.case

case $num in 
            9)语句
                ;;
            8|||)语句
                ;;
            7)语句
                ;;
            *)语句
                ;;
        esac
六.循环语句

1.while

while [ 条件 ]   (条件为真)
    do
        语句
        ...
    done

2.for

    for i in 

    do

    语句 

    ...

    done
3.until    
    until [ 条件 ]    (条件为假)

do

语句

...

done

七.补充

atoi函数   字符型转数字 包头文件<stdlib.h>
expr函数   表达式命令进行数字运算

*通配符(在数字运算中不能直接输入*得加\即\*)

seq 函数(从几到几)

  • 10
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值