Linux之shell脚本学习(1)简介和变量

    xiaoxiao2021-03-25  114

    Linuxshell脚本学习(1)简介和变量

    什么是shell

    Shell是操作系统的最外层,可以理解是命令的集合,shell可以合并编程语言以控制进程和文件,以及启动和控制其他文件

    简单来说,shell就是一个用户跟操作系统之间交互的命令解释器

    Shell,应用程序,内核的关系如下

    应用程序——shell——内核

    Shell的好处,批量的处理,自动化的完成维护,减轻管理员的负担,监控服务器可用性,备份等‘

    查看shell   #cat /etc/shell

    其中,/bin/bash是大多数linux中默认的shell解释器,之后的所有脚本的编写都是bash脚本,在linux中,无扩展名,shell脚本需要有执行的权限

    Shell脚本声明的格式

    —创建一个shell脚本     #vim frist.sh

    —编辑

    #/bin/bash        固定格式,声明用的是bash解释器,#!是Sharp-hang符,是一个起始符,用于指定解释器

    #echo hello               声明作用/或声明文件名

    #author                       声明作者

    echo  hello

     

    如何去执行一个脚本

    1.     使用绝对路径执行

    2.     使用相对路径执行 ./

    3.     使用sh命令执行   语法   #sh  脚本吗

    4.     使用.(空格)脚本名称的方式执行

    5.     使用source脚本名称执行

     

    Shell中的变量

    变量的本质是存储数据的一个或多个计算机内存地址

    Shell变量的分类:自定义变量,环境变量,位置变量,预定义变量

    特点:

    1.     声明变量不用声明类型

    2.     可以存储不同类型内容

    3.     使用要明确变量类型

    4.     区分大小写

    5.     左右两边不能有空格

    A) 自定义变量,由用户自定义变量

    语法:#$变量名或${变量名}

    Eg#linux=7.2

           #echo$linux

           #echo${linux}

    Read命令

    作用,通过键盘输入来定义变量

    Eg#read –p  inputname

    -p是为了提高可读性

    B)系统变量,一般为大写

    Eg$HOME,  $PWD,  $SHELL,  $USER

    显示当前shell中所有的变量  #set

    shell中,单引号和双引号的区别:单引号会将所有的特殊字符脱意,双引号仅将空格脱意

    Eg#x=”hello xx”

           #echo$x

           Helloxx

    #x=’hello $x’

    #echo $x

    Hello $x

    声明静态的变量 #readonly B=A      ——不能unset

    声明全局环境变量 #export  A=B  

    将命令的返回值赋给变量

    语法:  #A=”ls”或者A=$(ls)

    C)特殊变量

    $? 表示上个命令退出的状态,0为执行成功,非0则执行失败

     

    $$ 表示当前进程编号PID

     

    $0 表示当前脚本名称

     

    $# 表示参数变量的个数,常用于循环

     

    $N 表示位置变量,n代表数字,19

     

    $*$@ 都表示参数列表,不被引号“”包含时,都已$1.$2….$n的形式输出,当他们被双引号“”包含时,$*会将所有的参数作为一个整体,以” $1.$2….$n”的形式输出所有参数,$@会将各个参数分开,以”$1”.”$2”….”$n”的形式输出所有参数

     

    转载请注明原文地址: https://ju.6miu.com/read-8428.html

    最新回复(0)