为什么要学习Shell呢?
需要看懂运维人员编写的Shell程序。
工作中会编写一些简单Shell程序来管理集群、提高开发效率。
Shell是一个命令行解释器,它接收应用程序/用户命令,然后调用操作系统内核。
Shell还是一个功能相当强大的编程语言,易编写、易调试、灵活性强。
Shell就是各种各样Linux命令组装起来的脚本,所以我还是没事多看看linux命令吧
cat /etc/shells #/bin/sh #/bin/bash #/sbin/nologin #/bin/dash #/bin/tcsh #/bin/csh
查询Linux默认解析器
echo $SHELL
固定格式
脚本以#!/bin/bash开头(指定解析器)
创建脚本
#创建脚本 touch helloWorld.sh #编辑脚本 vim helloWorld.sh #!/bin/bash echo "HelloWorld" #输出
执行
采用bash或sh+脚本的相对路径或绝对路径(不用赋予脚本+x权限)
#第一种 sh+脚本的相对路径 sh helloWorld.sh #第二种 sh+脚本的绝对路径 sh /application/shell/helloWorld.sh #第三种 bash+脚本的相对路径 bash helloWorld.sh #第四种 bash+脚本的绝对路径 bash /application/shell/helloWorld.sh
bash解析器来执行脚本,脚本本身不需要执行权限
采用输入脚本的绝对路径或相对路径执行脚本(必须具有可执行权限+x)
chmod 777 helloWorld.sh
执行脚本
#相对路径 ./helloWorld.sh #绝对路径 /application/shell/helloWorld.sh
脚本需要自己执行,需要执行权限。