不懂shell就不懂Linux,shell其实就是一种命令解释器
Linux 下的shell种类非常之多,最常用的shell是bash(Bourne Again Shell)
我的Centos7和Macbook都是bash环境,以Centos7为例,查看当前机器的shell类型
执行命令,查看shell类型
echo $BASH
出现/bin/bash说明你的shell是bash类型的
以.sh为结尾的文件,可以简单的理解为shell脚本
创建完成后,第一行才是真正的表示这个文件是一个shell脚本
第一行为
#!/bin/bash
第一行定义脚本是shell脚本,没有这一行系统不知道这个文件是什么,并且不会以shell脚本的方式去运行
除了第一行的井号(#)外,如果再有#就说明是注解部分,没有实际的意义
编写第一个shell脚本
#!/bin/bash
#Filename:first_shell.sh
#auto echo hello world!
#by authors 菠萝吹雪 2020
echo "hello world!"
第一个shell脚本该怎样运行?
在windows系统中程序可以双击运行,Linux不能双击,有两种方法可以打开
首先给first_shell.sh加可执行权限
chmod +x first_shell.sh
运行shell脚本的方法1
./first_shell.sh
运行shell脚本的方法2
/bin/bash first_shell.sh
第一种方法是相对路径的写法,第二种就是到bin下去执行,这和java、mysql、hadoop不设置环境变量去执行各自的文件差多的
可以看到 hello world!已经输出在控制台上了
有关权限问题可以自己百度理解一下,r是可读,w是可写,x是可执行的意思,至于后面的就是所属用户和用户组
方法1和方法2功能效果完全一致,看自己的习惯执行shell脚本
脚本和单独在命令行敲有什么区别?
答案:没有区别一摸一样
写脚本是为了更好的去拼接去部署,脚本可以一次性执行100条命令,没有脚本就要自己敲一百行,如果机器数量是1000台呢?
脚本的提高效率的好处不言而喻,批量执行想要做的事情,无所不能!!!!!!!