一、Shell概述
1.什么是Shell
Shell是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以用shell来启动、挂起、停止甚至编写一下程序。shell最主要的功能是把我们键入的命令翻译成Linux内核能够识别的01机器语言,以便Linux内核按照我们的要求调用硬件来完成我们的操作。同时,shell会把执行结果翻译成我们能够识别的语言呈现出来。一般来说,shell就是Linux的交互界面。
shell还是一个功能强大的编程语言。其易编写、易调试,灵活性较强。shell是解释执行的脚本语言,即不需要先单独进行编译,而是在命令的执行过程中来自动进行编译,所见即所得。在shell中可以直接调用Linux系统命令。
2.shell的分类
Bourne Shell:最早的Shell,主文件名为sh。
C Shell:主要用在BSD版的Unix系统中,语法与C语言相似。
shell的两种主要语法类型有Bourne 和C,且彼此不兼容。Bourne 家族主要包括sh、ksh、Bash、psh、zsh;C家族包括:csh、tcsh。Linux系统的标准shell为Bash。Bash与sh兼容。
3.查看Linux支持的shell
可以查看/etc/shells 文件中的内容来了解Linux支持的shell。可以通过直接输入Shell名称来切换shell。
二、Shell脚本的执行方式
1.输出命令--echo
语法:echo [选项] [输出内容]
选项:-e 支持反斜线控制的字符转换,不加选项e会直接输出反斜线。
如:使用\b 向左删除一个字符
如:使用\n 在输出中使用换行符
2.写一个脚本 hello.sh
在脚本的第一行要用#!/bin/Bash 标志一下写的脚本是Shell脚本。
#!/bin/Bash
#The First Program
#Author:AAA
echo -e 'Hello World!'
3.脚本执行
3.1赋予脚本执行权限,直接执行(可使用绝对路径或相对路径)
chmod 755 hello.sh
3.2通过bash调用执行脚本,此命令可以不用给脚本赋予执行权限