Shell 编程基础

1.谁需要学习 Shell 编程?

1.Linux运维工程师:编写Shell程序进行服务集群管理。

2.Python和JavaEE程序员:编写Shell脚本程序或者是服务器的维护,比如编写一个定时备份数据库的脚本。

3.大数据程序员:编写Shell程序来管理集群。

2.什么是shell编程

Shell 是一个命令解释器,它为用户提供了一个向 Linux 内核发送请求以便运行程序界面系统级程序,用户可以用 Shell 来启动、挂起、停止甚至是编写一些程序。

3.shell编程特点

(1) Shell脚本支持变量、命令行参数、交 互式输入、函数模块、各种控制语句等高级编 程语言的特性。

(2)利用shell可以编写出功能非常复杂的脚 本程序,把大量的任务自动化,尤其是那些需 要输入大量命令而在执行过程中不太需要与用 户进行干预的系统管理任务。

(3)与可执行命令不同,shell脚本并不是二 进制可执行文件,而是以文本方式保存,由 shell进行解析执行的,不需要对代码进行编译。

本质上,shell 脚本(shell编程)是命令行 命令简单的组合到一个文件里面。Shell基本上 是一个命令解释器,它接收用户命令,然后调用相应的应用程序。

4.Shell程序创建

进入 Linux 终端,编写一个 Shell 脚本 HelloWord.sh :

#!/bin/bash 
echo 'hello world!'

chmod +x hello.sh

./HelloWorld.sh

终端打印出 hello world!

说明:

#! 告诉系统这个脚本需要什么解释器来执行。

文件扩展名 .sh 不是强制要求的。

5.函数定义

#!/bin/bash 
#filename:welcome
 first() 
{ 
echo "====================================" 
echo "Hello! Everyone! Welcome to the Linux world." 
echo "===================================="
 } 
second()
 {
 echo "**********************************************" 
} 
first 
second 
Second
first 

1.编写程序 2.添加执行权限 3.运行程

创建完/root/welcome文件后,使用如下命令执 行Shell程序

6.Shell程序的执行

执行Shell程序有如下3种方法:

(1)通过bash命令: bash [Shell程序文件名]

(2)通过输入重定向 bash< [Shell程序名]

(3)添加执行权限 chmod u+x shell程序名 程序名路径##.Shell 变量

7.变量定义

Shell 变量分为系统变量和自定义变量。系统变量有H O M E 、 HOME、HOME、PWD、$USER等,显示当前 Shell 中所有变量:set 。

变量名可以由字母、数字、下划线组成,不能以数字开头。

基本语法

定义变量:变量名=变量值,等号两侧不能有空格,变量名一般习惯用大写。

删除变量:unset 变量名 。 声明静态变量:readonly

变量名,静态变量不能unset。 使用变量:$变量名

将命令返回值赋给变量(重点)

A=ls 反引号,执行里面的命令

A=$(ls) 等价于反引号

8.常用的字符串比较符号如下:

=:两个字符串是否相同,相同则为“是”。

!=:两个字符串是否不同,不同则为“是”

-n:字符串的长度是否大于0,大于0则为“是”

-z:字符串的长度是否等于0,如果等于0则为“是”

9.常用的数字比较符号如下:

-eq:两个数值相等

-ge:第一个数大于等于第二个数

-le:第一个数小于等于第二个数

-ne:两个数值不相等

-gt:第一个数大于第二个数

-lt:第一个数小于第二个数

9.shell脚本支持的控制结构:

if-then-else

•case

•for

•while

•until

if-then-else实例

使用if-then-else语句创建一个根据输入 的分数判断分数是否及格的Shell程序。

#! /bin/bash
#filename:score
echo -n "please input a score:"
read SCORE
echo "You input Score is $SCORE"
if [ $SCORE -ge 60 ];
then
echo -n "Congratulation!You Pass the examination。"
else
echo -n "Sorry !You Fail the examination!"

Docker入门

背景知识 容器技术的起源 假设你们公司正在秘密研发下一个“今日头条”APP,我们姑且称为明日头条,程序员自己从头到尾搭建了一套环境开始写代码,写完...

Linux常用命令

关机/重启/注销 常用命令作用shutdown -h now即刻关机shutdown -h 1010分钟后关机shutdown -h 11:0011:00关机shutdown -h +10预定时间关机(10分钟后)s...

VMware虚拟机

VMware虚拟机安装Ubuntu操作系统 Ubuntu操作系统安装docker [VMware超详细安装完整教程](https://blog.csdn.net/weixin_56306210/article/details/125...

Linux入门

一:Linux系统介绍 1.系统介绍 Linux是一套免费使用和自由传播的类Unix操作系统,是一个POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统 ...

Linux Vim

vim的介绍 什么是vim Vim 是从 vi 发展出来的一个文本编辑器。代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。 Vim是...