Shell简介
Shell是C语言编写的脚本语言,是用户与Linux的桥梁,用户输入命令交给Shell处理,Shell将相应的操作传递给内核(Kernel),内核再把处理的结果输出给用户
Shell的两大基本分类
GUI Shell
GUI为Unix或者类Unix操作系统构造一个功能完善、操作简单以及界面友好的桌面环境。主流桌面环境有KDE,Gnome等。
CLI Shell
CLI是用户提示符下键入可执行指令的界面,用户通过键盘输入指令,完成一系列操作。
在Linux系统上主流的CLI实现是bash,是许多Linux发行版默认的Shell。还有许多Unix上Shell,比如tcsh,csh,ash,bsh和ksh等。
第一个Shell脚本
adam@adam-X555LI:~$ touch text.sh # 创建一个shell文件adam@adam-X555LI:~$ vi text.sh # 用vi编辑器编写文件# 按i键进入插入模式,写入以下代码:#!/bin/bash # 制定解释器echo \"Hello World!\" # 打印Hello World!# 按ESC键,输入:wq!强制保存退出。adam@adam-X555LI:~$ bash text.sh # 使用bash解释器执行Hello World!
用上述bash方法运行时,当前终端会生成一个子bash去执行脚本。当然还有另外的两种方法来执行shell脚本。
方法一:添加可执行权限
# 通过ll命令查看text.sh的文件权限adam@adam-X555LI:~$ ll text.sh-rw-r--r-- 1 adam adam 20 5月 18 14:49 text.sh#发现当前sh文件只有r(读)和w(写)的权限,并没有x(执行)权限,所以需要用chmod命令给sh文件加上x权限。adam@adam-X555LI:~$ ./test.shbash: ./test.sh: 没有那个文件或目录adam@adam-X555LI:~$ chmod +x text.shadam@adam-X555LI:~$ ll text.sh-rwxr-xr-x 1 adam adam 20 5月 18 14:49 text.sh*adam@adam-X555LI:~$ ./text.shHello World!
方法二:source命令执行
# 这种方法可以不在行首加上#!/bin/bash指定解释器adam@adam-X555LI:~$ source text.shHelllo World!