Shell编程基入门

简介: Shell编程基入门

1、什么是Shell

2、什么是Shell脚本

3、Shell脚本语言种类

4、脚本的建立以及执行、停止

5、脚本的基本运算符

1、什么是Shell

Shell是一个命令解释器,他的作用就是解释执行用户输入的命令和程序,用户输入一条命令,它就执行一条,就可以立即得到回应的对话方式被称为"交互"
Shell存在于操作系统的最外层,负责与用户直接对话,把用户输入的命令解释给操作系统,并处理各式各样的操作系统的输出结果,然后输出到明明返回给用户;例如,在Linux系统种用户输入用户名和密码并登陆到Linux后所有的操作均由Shell解释并执行。
从'Shell'单词的英文释义可得,命令解释器(Shell)是贝壳的意思,从图片来看Shell就像贝壳一样包住了系统核心

在这里插入图片描述

2、什么是Shell脚本

当命令或程序语句不在命令行中执行,而是通过一个程序文件来执行时,该程序就可以成为Shell脚本,通俗的说就是将一大堆命令写入脚本中,再由Shell执行,就叫做Shell脚本,这种通过文件执行脚本的方式称为非交互的方式,在Windows下,这种被称为 'Dos批处理程序'

范例:清除/var/log/下的message日志文件

必须以root用户执行
#!/bin/bash
cd /var/log
cat /dev/null > messages
echo "Logs Cleaned up."

3、Shell脚本语言种类

1、Shell脚本语言在Unix/Linux中主要有两大类Shell:一类是Bourne Shell 、一类是C Shell
1.Bourne shell

包括Bourne shell(sh)、 Korn shell(ksh) 、Bourne Again Shell(bash)三种

2.C shell

包括 csh 、 tcsh 两种

查看系统支持的Shell
#[root@localhost ~] # cat /etc/shells
2、其他常用脚本语言种类
①PHP语言
②Perl语言
③Python语言
3、Linux查看系统默认Shell
法一
[root@localhost ~] # echo $SHELL
法二:
[root@localhost ~] # grep root /etc/passwd

4、脚本的建立以及执行

1、脚本开头(第一行)
会以如下的形式指出由哪个解释器来执行脚本中的内容,如下

#!/bin/bash
或
#!/bin/sh
1、编写一个简单小脚本,条件如下

1、在/root/下创建该脚本,命名为 test.sh
2、关闭防火墙(firewalld)
3、关闭防火墙自启
4、设置Selinux安全模块为允许模式
5、修改主机名为test
6、查看当前时间
7、执行完后删除该脚本

#!/bin/bash
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
hostnamectl set-hostname test
date
echo "Execution completed !"
rm -rf /root/test.sh
2、利用while输出
#!/bin/bash
while [ 1 -gt 0 ]
do
sleep 1
echo 'Welcome to China !'
done

在这里插入图片描述
这里是利用while语句进行循环输出,注意 [] 中括号和数字之间一定要有空格,不能挨在一起,这里的 -gt 是指的大于,若1>0 条件成立,那么就执行

2、脚本的执行
1、使用 . 加上文件名或者绝对路径,点后面有一个空格

在这里插入图片描述

2、使用解释器执行,如下:

在这里插入图片描述

3、使用source

在这里插入图片描述

3.脚本的终止

CTRL + C

在这里插入图片描述

5、脚本的基本运算符

运算符 说明
-eq 检测两个数是否相等,相等返回 true。
-ne 检测两个数是否不相等,不相等返回 true。
-gt 检测左边的数是否大于右边的,如果是,则返回 true。
-lt 检测左边的数是否小于右边的,如果是,则返回 true。
-ge 检测左边的数是否大于等于右边的,如果是,则返回 true。
-le 检测左边的数是否小于等于右边的,如果是,则返回 true。
目录
相关文章
|
5月前
|
Unix Shell Linux
LeetCode刷题 Shell编程四则 | 194. 转置文件 192. 统计词频 193. 有效电话号码 195. 第十行
本文提供了几个Linux shell脚本编程问题的解决方案,包括转置文件内容、统计词频、验证有效电话号码和提取文件的第十行,每个问题都给出了至少一种实现方法。
LeetCode刷题 Shell编程四则 | 194. 转置文件 192. 统计词频 193. 有效电话号码 195. 第十行
|
5月前
|
Shell Linux
Linux shell编程学习笔记30:打造彩色的选项菜单
Linux shell编程学习笔记30:打造彩色的选项菜单
|
3月前
|
运维 监控 Shell
深入理解Linux系统下的Shell脚本编程
【10月更文挑战第24天】本文将深入浅出地介绍Linux系统中Shell脚本的基础知识和实用技巧,帮助读者从零开始学习编写Shell脚本。通过本文的学习,你将能够掌握Shell脚本的基本语法、变量使用、流程控制以及函数定义等核心概念,并学会如何将这些知识应用于实际问题解决中。文章还将展示几个实用的Shell脚本例子,以加深对知识点的理解和应用。无论你是运维人员还是软件开发者,这篇文章都将为你提供强大的Linux自动化工具。
|
4月前
|
Shell
Shell编程(下)
Shell编程(下)
123 1
|
4月前
|
Shell Linux Windows
Shell编程(上)
Shell编程(上)
65 1
|
4月前
|
Shell Linux 开发工具
|
4月前
|
监控 Unix Shell
shell脚本编程学习
【10月更文挑战第1天】shell脚本编程
102 12
|
5月前
|
Shell Linux
Linux shell编程学习笔记82:w命令——一览无余
Linux shell编程学习笔记82:w命令——一览无余
|
5月前
|
存储 Unix Shell
shell脚本编程基础
【9月更文挑战第4天】
69 12
|
5月前
|
Shell Linux
Shell 编程 编写hello word
Shell 编写hello word
66 5