0 、关于shell
shell是一个程序,它从键盘读取命令然后交由操作系统来执行。几乎所有 Linux 发行版都提供了一个名为 GNU Project 的 shell 程序。
“bash”是“Bourne Again ,SHell”首字母缩写,bash 是 sh 的增强版本,sh 史蒂夫·伯恩(Steve Bourne)编写的原始 Unix shell 程序。
用户界面和命令行就是这个另外开发的程序,就是这层“代理”。
在Linux下,这个命令行程序叫做 Shell。
1、Shell概述
Shell是一个命令行解释器,它接收应用程序/用户命令,然后调用操作系统内核。

Shell还是一个功能相当强大的编程语言,易编写、易调试、灵活性强。
2、Shell解析器
2.1、查看Linux提供的Shell解析器
cat /etc/shells

一般常用的是前两个 sh bash


2.2、sh 和 bash的关系

也是就说 执行sh命令的时候 最终执行的还是bash 命令
2.3、查看默认的解析器是
echo $SHELL

centos7默认的解析器是/bin/bash
3、Shell脚本入门
3.1、脚本以#!/bin/bash开头(指定解析器)

3.2、脚本的常用执行方式
3.2.1、 第一种:采用bash或sh+脚本的相对路径或绝对路径(不用赋予脚本+x权限)
-
sh+脚本的相对路径

-
sh+脚本的绝对路径

-
bash+脚本的相对路径

-
bash+脚本的绝对路径

3.2.1、第二种:采用输入脚本的绝对路径或相对路径执行脚本(必须具有可执行权限+x)
-
首先要赋予hello.sh 脚本的+x权限


-
执行脚本
- 相对路径

- 绝对路径

- 相对路径
3.3、小案例
需求:在/test目录下创建一个test.txt,在test.txt文件中增加“I love you”。


代码:
#!/bin/bash
cd /test
touch test.txt
echo "I love you " >> test.txt

本文详细介绍了Linux Shell的基础知识,包括其作为命令行解释器和编程语言的角色,常用的Shell解析器bash和sh的关系,以及如何查看和设置默认Shell。深入讲解了Shell脚本的编写,包括脚本开头的指定解析器、执行方式、小案例,以及变量的系统变量和自定义变量的使用。此外,还涵盖了特殊变量、运算符、条件判断、流程控制结构如if、case、for和while循环,以及read读取输入和函数的使用。最后,提到了一些常用的Shell工具,如cut、sed、awk和sort,并给出了相关的面试题和解答。
最低0.47元/天 解锁文章
33万+





