• 技术文章 >运维 >linux运维

    linux中什么是shell脚本

    长期闲置长期闲置2022-03-15 15:02:07原创307

    在linux中,shell脚本是一种编程方式,就是一些命令的集合。shell脚本将一些shell语法与指令写在里面,利用管道命令以及流量重导向等功能,达到想要的处理目的,是临时写的小程序用于完成当前的工作。

    本教程操作环境:linux7.3系统、Dell G3电脑。

    linux中什么是shell脚本

    一.shell脚本的概念及意义

    shell脚本是linux下的一种编程方式,脚本(shell script)是利用shell的功能所写的一个程序,这个程序是使用纯文本文件,将一些shell的语法与指令写在里面,然后用正规表示法,管道命令以及数据流重导向等功能,以达到我们所想要的处理目的。说白了,就是为了解决linux的实际问题,临时写的一个小程序来完成当前的工作,如果需要多次使用,还能保存下来循环使用。

    二.脚本的规范

    脚本使用了shebang机制,即这样的格式:!#/bin/bash、!#/use/bin/python。需要简单的进行shell脚本的解释。下面举一个样例:

    #!/bin/bash
    # ——————————————
    # Filename: hello.sh
    # Revision: 1.1
    # Date: 2017/08/05
    # Author: Mr.Dong
    # Email: Dong@gmail.com
    # Website: www.magedu.com
    # Description: This is the first script
    # ——————————————
    echo “hello world”

    利用这些信息,可以很快知道这个脚本的用处,以便于工作的使用。

    在运行的时候可以使用下面两条命令进行脚本调试

    bash -n hello.sh 来查看脚本的语法错误

    bash -x hello.sh 可以查看脚本的执行步骤

    三.变量

    1.本地变量

    本地变量只对当前shell有效,对子shell无效(SHLVL查看是几级shell)。

    变量赋值:name=’value’

    字符串赋值:name=”root”

    变量引用:name=”$USER”

    命令引用:name=COMMAND name=$(COMMAND)

    显示已定义的所有变量:set

    删除变量:unset name

    2.环境变量

    环境变量对当前SHELL及其子SHELL均有效。

    变量的声明和赋值命令:

    export name=VALUE
    declare -x name=VALUE

    变量的引用:$name,${name}

    显示所有的环境变量命令:

    env printenv export declare -x

    bash自带环境变量:

    PATH SHELL USER UID HOME PWD SHLVL LANG MAIL HOSTNAME HISTSIZE

    3.只读变量

    声明只读变量:

    readonly name
    declare -r name

    查看只读变量: readonly -p

    4.位置变量

    $1, $2, … :对应第1 、第2 等参数,shift [n] 换位置

    $0: 命令本身

    $: 传递给脚本的所有参数,全部参数合为一个字符串

    $@: 传递给脚本的所有参数,每个参数为独立字符串

    $#: 传递给脚本的参数的个数

    $@ $ 只在被双引号包起来的时候才会 有 差异

    set —

    四.算术运算与逻辑运算

    1.算术运算

    算数运算符:+ – * / %(取余) **(乘方)

    常用的运算:

    (1) let var= 算术表达式

    (2) var=$[ 算术表达式]

    (3) var=$(( 算术表达式))

    (4) var=$(expr arg1 arg2 arg3 …)

    (5) declare –i var = 数值

    (6) echo ‘ 算术表达式’ | bc

    产生随机数命令:echo $[$RANDOM%number] 0-number之间的随机数

    赋值运算:+= -= *= /= %=

    自增和自减:

    let var+=1
    let var++
    let var-=1
    let var–

    2.逻辑运算

    true=0 false=1

    与 1&&1=1 1&&0=0 0&&1=0 0&&0=0

    或 1||1=1 1||0=1 0||1=1 0||0=0

    非 !1=0 !0=1

    五.test命令

    test命令是shell环境中测试条件表达式的实用工具。

    例如:

    test “$A” == “$B” && echo “Strings are equal”
    [ “$A” == “$B” ] && echo “Strings are equal”

    这两种表述表达同一种意思。

    [[ ]]表示支持正则表达式

    数值比较: 字符串比较:

    -gt 是否大于 >

    -ge 是否大于等于 >=

    -eq 是否等于 ==

    -ne 是否不等于 !=

    -lt 是否小于 <

    -le 是否小于等于 <=

    相关推荐:《Linux视频教程

    以上就是linux中什么是shell脚本的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:linux
    上一篇:linux中printf是什么意思 下一篇:linux中version是什么意思
    千万级数据并发解决方案

    相关文章推荐

    • linux怎么批量替换文件内容• linux怎么删除环境变量• linux怎么查询时区• linux中竖线是什么意思• linux用什么写python
    1/1

    PHP中文网