Shell脚本介绍

作者: Stone_説 | 来源:发表于2020-04-13 00:52 被阅读0次

1. bash的基础特性

1.1 变量类型

决定数据存储格式,存储空间大小,参与运算种类
    字符型和数值型(整型,浮点型)
强类型:定义变量时必须指定类型,参与运算必须符合类型要求,调用未声明变量会产生错误
弱类型:无须指定类型,默认均为字符型,参与运算会自动进行隐式类型转换,变量无须先定义可直接调用
变量引用:${var_name}, $var_name

1.2 bash中的变量的种类

根据变量的生效范围等标准

1. 本地变量:生效范围当前shell进程:指对当前shell之外的其他进程,包括当前shell的子shell进程均无效
2. 环境变量:生效范围为当前及其子进程
3. 局部变量:生效范围为当前shell进程中某代码片段(通常指函数)
4. 位置变量:$1,$2...来表示,用于让脚本代码中调用通过命令行传递给它的参数
5. 特殊变量:$?,$0,$*,$@,$#
1.2.1 本地变量
变量赋值:name='value'
    可以使用引用:
        1. 可以使用直接字符串:name="username"
        2. 变量引用:name="$username"
        3. 命令引用:name='COMMAND', name=$(COMMAND)
    变量引用:${name},$name
        " ":弱引用,其中的变量会被替换为变量值
        ‘ ’:强引用,其中的变量不会被替换为变量值,而保持原字符串
    显示已定义的所有变量:set
    销毁变量:unset name
1.2.2 环境变量
    变量声明、赋值:
        export name=VALUE
        declare -x name=VALUE
    变量引用:$name,${name}
    显示所有环境变量:export,env,printenv
    销毁:unset name
    bash有许多的内建的环境变量
        PATH,SHELL,UID,HISTSIZE,HOME,PWD,OLD,HISTFILE,PS1
1.2.3 局部变量
    1. 不能使用程序中的保留字:例如if,for
    2. 只能使用数字,字母及下划线,且不能以数字开头
    3. 见名知义 
1.2.4 只读变量
    readonly name
    declare -r name
1.2.5 特殊变量
    在脚本代码中调用通过命令行传递给脚本的参数,shift换岗操作
        $1,$2...:对应第1,第2等参数
        $0:命令本身
        $*:传递给脚本的所有参数
        $@:传递给脚本的所有参数
        $#:传递给脚本的参数的个数

2. bash的配置文件

2.1 按生效范围划分,存在两类

全局配置:
    /etc/profile, /etc/profile.d/*.sh, /etc/bashrc
个人配置:
    ~/.bash_profile, ~/.bashrc

2.2 按功能划分,存在两类

profile类:为交互式登录的shell提供配置
    全局:/etc/profile   /etc/profile.d/*.sh
    个人:~/.bash_profile
    公用:用于定义环境变量,运行命令或脚本
bashrc类:为非交互式登录的shell提供配置
    全局:/etc/bashrc
    个人:~/.bashrc
    公用:定义命令别名,定义本地变量

2.3 shell登录

交互式登录:
    直接通过终端输入账号密码登录:
    使用"su -UserName" OR "su -l UserName"切换用户
            /etc/profile -> /etc/profile.d/*.sh ->~/.bashrc_profile
            ->~/.bashrc->/etc/bashrc
非交互式登录:
    su UserName
    图形界面下打开的终端
    执行脚本
    ~/.bashrc -> /etc/bashrc -> /etc/profile.d/*.sh

2.4 编辑配置文件定义的新配置的生效方式

重新启动shell进程
使用source或.命令进程

2.5 问题

1. 定义对所有用户都生效的别名?
    /etc/bashrc
2. 给所有登录系统用户输出提示信息?
    /etc/profile.d/*.sh
3. 让用户的PATH环境变量的值多出一个路径,例如多出/usr/local/apache2/bin
    管理员:~/.bashrc_profile
    所有:/etc/profile.d/apache.sh

3. bash中的算术运算

+,-,*,/,%,**
实现运算:
    1.let var=算术表达式          2.var=$[算术运算符]
    3.var=$((算术表达式))         4.var=$(expr arg1 arg2 arg3 ...)
增强型赋值:
    +=,-=,*=,/=,%=
    let varOPERvalue
    eg.
        let var+=1          let var++
        let var-=1          let var--

相关文章

  • shell脚本的常用循环

    1 shell脚本简介 在简单介绍shell脚本(shell script)之前,先简单介绍一下shell。 1....

  • shell脚本介绍、shell脚本结构和执行、date命令用法、

    目录 一、shell脚本介绍二、shell脚本结构和执行三、date命令用法四、shell脚本中的变量 一、she...

  • Unix/Linux shell入门

    一. 介绍 shell脚本,顾名思义就是跟执行shell命令、shell交互的脚本。由于历史原因,shell语法比...

  • shell第11章shell脚本

    什么是shell? Bash shell: 什么是shell脚本? 变量的介绍: 普通变量介绍: 环境变量介绍: ...

  • 第四单元 Shell脚本

    一、Shell介绍 1、什么是shell脚本 Shell脚本与Windows/Dos下的批处理相似,也就是用各类命...

  • shell脚本

    一、Shell介绍 1、什么是shell脚本 Shell脚本与Windows/Dos下的批处理相似,也就是用各类命...

  • Shell脚本介绍

    Shell Shell是一个用C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell既是一种命令语言,又...

  • Shell脚本介绍

    1. bash的基础特性 1.1 变量类型 1.2 bash中的变量的种类 根据变量的生效范围等标准 1.2.1 ...

  • Shell脚本day2~简单的介绍

    一、Shell脚本简单的介绍(Shell脚本有多个类,默认的是bash,因为它免费,开源) 1.1、建立脚本 he...

  • shell脚本基础

    shell介绍 shell命令: 在linux终端能被解析的命令,就是shell命令。 shell脚本: 多个sh...

网友评论

    本文标题:Shell脚本介绍

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