# 什么是shell
网上有很多shell的概念介绍,其实都很官方化,如果你对linux命令很熟悉,那么编写shell就不是一个难事,shell本质上是linux命令,一条一条命令组合在一起,实现某一个目的,就变成了shell脚本。它从一定程度上减轻了工作量,提高了工作效率。
# 官方化的shell 介绍
shell通过提示您输入,向操作系统解释该输入,然后处理来自操作系统的任何结果输出,简单来说shell就是一个用户跟操作系统之间的一个命令解释器。
# 常见的shell有哪些
Bourne Shell(/usr/bin/sh或/bin/sh)
Bourne Again Shell(/bin/bash)
C Shell(/usr/bin/csh)
K Shell(/usr/bin/ksh)
Shell for Root(/sbin/sh)
# 最常用的shell是Bash,也就是Bourne Again Shell。Bash由于易用和免费,在日常工作中被广泛使用,也是大多数Linux操作系统默认的Shell环境。
如何查看当前系统支持的shell
[root@localhost ~]# cat /etc/shells
如何查看当前系统默认的shell
[root@localhost ~]# echo $SHELL
? ? ? 1、shell 命名: Shell脚本名称命名-般为英文、大写、小写,后缀以.sh 结尾;
? ? ? 2、不能使用特殊符号;
? ? ? 3、见名知意;
? ? ? 4、shell编程首行需要指定脚本解释器#!/bin/sh或#!/bin/bash;
? ? ? 5、shell脚本变量不能以数字、特殊符号开头,可以使用下划线-,但不能用破折号——。
# 创建一个Helloword.sh 文件
[root@aly_server01~]# touch Helloword.sh
# 编辑Helloword.sh 文件
[root@aly_server01~]# vim Helloword.sh
[root@aly_server01~]# cat Helloword.sh
#!/bin/bash
# This is ower first shell
echo "hello world"
[root@aly_server01~]#
[root@aly_server01~]# ll Helloword.sh
-rw-r--r-- 1 root root 85 Sep 20 22:26 Helloword.sh
# 赋予执行权限
[root@aly_server01~]# chmod o+x Helloword.sh
# 运行helloword.sh 脚本
[root@aly_server01~]# ./Helloword.sh
hello world
[root@aly_server01~]#
?
方法一:当前目录下./a.sh ????????文件需要执行权限
方法二:绝对路径 /test/a.sh ????????文件需要执行权限
方法三:用sh 或bash来执行 bash a.sh 文件? ? ? ? 不要执行权限(建议使用方法)
方法四:用source a.sh 或 . a.sh 执行会开启子shell 文件????????不要执行权限 (一般不用 vim /etc/init.d/network )