Shell是一个用C语言编写的程序,它是用户使用Linux的桥梁。Shell既是一种命令语言,又是一种程序设计语言Shell是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务
为什么要学习和使用shell?Shell属于内置的脚本,程序开发的效率非常高,依赖于功能强大的命令可以迅速地完成开发任务(批处理)语法简单,代码写起来比较轻松,简单易学(运维人员)Shell的分类在linux中有很多类型的shell,不同的shell具备不同的功能,shell还决定了脚本中函数的语法,Linux中默认的shell是/bash/shell(重点\默认),流行的还有/bin/sh、/bin/bash、/usr/bin/sh、/usr/bin/bash、/bin/tcsh、/bin/csh
Shell脚本入门
运行Shell文件的区别第一种:bash./hello.sh和sh./hello.sh第二种:sourcehello.sh和.hello.sh两种运行的方式差异性在于,第一种是在子bash环境下运行,而第二种是在当前bash环境下运行,我们通过运行typesource可以看到sourceisashell builtin(source是shell内嵌)我们执行ps-f可以查看当前bash环境,创建一个子bash,继续通过ps-f查看,在当前子bash环境下,你依然可以运行shell文件从结果上来看,两者好像没有什么区别,但是如果引入更多知识,例如变量:如果子shell中设置的当前变量,父shell是可不见的
Shell变量_特殊变量
在Shell中,存在一些特殊变量,他们具有特殊的意义$n$n代表接受参数,n是数字,代表在执行脚本时候传递的参数数量,例如$1-$9代表第一个到第九个参数,十以上的数字,可以使用大括号包裹,例如${10}。比较特殊的是$0,代表当前脚本名称