开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第11天,点击查看活动详情
什么是shell脚本?(摘自百度百科)
Shell Script [1] ,Shell脚本与Windows/Dos下的批处理相似,也就是用各类命令预先放入到一个文件中,方便一次性执行的一个程序文件,主要是方便管理员进行设置或者管理用的。但是它比Windows下的批处理更强大,比用其他编程程序编辑的程序效率更高,它使用了Linux/Unix下的命令。
Java程序员为什么要学习Shell呢?
1)需要看懂运维人员编写的Shell程序。
2)偶尔会编写一些简单Shell程序来管理集群、提高开发效率。
Centos默认的解析器是bash
步骤:
1、创建shell脚本
cd 到合适的文件夹,这里用到的命令是:
touch helloworld.sh
2、编辑shell脚本
这里用到的命令是:
vim helloworld.sh
进入编辑模式后,按i进入编辑模式,在脚本中输入
#!/bin/bash
echo "hello world hahaha"
需要注意的是:shell脚本以#!/bin/bash开头(指定解析器)
按Esc退出输入模式,切换到命令模式;按下 :wq 保存退出(注意是按冒号和wq)
3、使用解析器执行shell脚本
这里用到的命令是:
sh helloworld.sh
按下回车后,可以看到输出了我们刚刚输入的helloworld
再试试bash,应该也是一样的效果,这里用到的命令是:
bash helloworld.sh
4、直接执行
使用chmod 777给该文件最高权限
chmod 777 helloworld.sh
再查看的时候可以看到,该文件已经被加粗
下面我们执行一下
./helloworld.sh
执行成功
5、反思
为什么使用sh和bash命令不需要权限,而使用./就需要权限呢?
因为sh和bash执行方法本质是解析器帮助我们执行脚本,所以脚本本身不需要执行权限;而./的执行方法本质需要自己执行,所以需要执行权限