1 shell简介
Shell是命令解释器(command interpreter),是Unix操作系统的用户接口,程序从用户接口得到输入信息,shell将用户程序及其输入翻译成操作系统内核(kernel)能够识别的指令,并且操作系统内核执行完将返回的输出通过shell再呈现给用户,下图所示用户、shell和操作系统的关系:
Shell就是一种命令解析器,解析用户的命令调用系统内核执行相关的命令
Shell也是一门编程语言,即shell脚本,shell是解释执行的脚本语言,可直接调用linux命令。 .java -> .class 一个系统可以存在多个shell,可以通过cat /etc/shells命令查看系统中安装的shell,不同的shell可能支持的命令语法是不相同的操作系统内核(kernel)与shell是独立的套件,而且都可被替换: 不同的操作系统使用不同的shell; 同一个kernel之上可以使用不同的shell。
常见的shell分为两大主流
sh
Bourne shell(sh) Solaris,hpux默认shell
Bourne again shell(bash Linux系统默认shell
csh
C shell(csh)
TC shell(tcsh)
1)需要看懂运维人员编写的Shell程序。
2)偶尔会编写一些简单Shell程序来管理集群、提高开发效率。
2 脚本的执行
2.1 脚本的定义
vi first.sh
#!/bin/bash
# #号是注释 !声明 第一行内容固定
mkdir /aaa/bbb =p
echo "运行了...."
echo "运行了...." >> 1.txt
echo 1.txt 2.txt
2.2 执行方式
2.2.1 方式1 赋给执行权
chmod u+x first.sh 直接执行
2.2.2 方式2 sh 和 bash 命令执行
sh first.sh
bash fir.sh
2.2.3 方式3