1. Linux Shell 简介
什么是shell?shell也是一个应用程序,它连接了用户和 Linux 内核,用户可以通过shell更加安全,高效的使用Linux内核。同时,shell也是一种程序设计语言,但是和c,java等语言不同的是,shell是一种解释型的语言,无需编译即可运行。
Linux中的shell种类有很多,常见的有以下几种:
● Bourne Again Shell(/bin/bash)
● Bourne Shell(/bin/sh)
● C Shell(/bin/csh)
● K Shell(/bin/ksh)
等等。
所以shell脚本都会在第一行指定解释该脚本的shell。如下:
#!/bin/bash
或者
#!/bin/sh
#! 就是告诉系统以哪个shell来解释该脚本语言。
2. Shell有什么功能
shell的功能非常强大,比如文本的创建和查找,软件的自动部署,检测内存使用情况,字符串检索,备份日志等等,shell的功能足以支撑日常的Linux管理工作。shell主要是用来开发一些自动化的小工具,以代替我们做一些繁琐重复的工作。
3. 为什么要学习Shell
使用shell的时间长了,慢慢的也会对Linux的使用越来越顺手。对许多shell命令的含义也会有更深刻的认识。因此,对shell的掌握程度一定程度上也反应了对Linux系统的熟悉程度。特别是运维人员,熟悉掌握了shell的用法,工作上更是事半功倍,否则可能会浪费大量的时间在重复性的工作上。并且,目前很多Linux的岗位工作都要求具有编写shell脚本的能力。因此,学习shell百利无一害,还有什么理由不去学习呢?
4. 第一个shell脚本
许多编程语言的学习都是从Hello World开始的,shell的学习也不例外。先来看第一个shell脚本,test.sh
#!/bin/bash
echo "Hello World"
说明:第一行就是告诉系统采用/bin/bash程序来解释该脚本。
echo是shell命令,用于在窗口输出文本,类似C语言中的printf函数。
运行脚本有两种方法,一种是作为可执行程序,另一种是作为解释器的参数运行。下面分别来看一下两种运行的方法。
▲ 作为可执行程序
- cd到脚本所在目录
- 给脚本添加可执行权限:chmod +x test.sh
- 执行脚本: ./test.sh
▲ 作为解释器的参数
- 直接执行脚本,例如: /bin/bash test.sh
可能细心的小伙伴已经发现了,脚本语言的第一行就是指定了解释器,但是当采用第二种方式执行脚本时,脚本中第一行的#!/bin/bash 就无效了。
运行脚本,终端将会输出Hello World。
除了echo,在脚本中还能执行各种各样的指令,甚至也有流程控制结构比如if…else case in… while 等等。这些内容后续继续学习。