Shell中case语句与函数
大家好呀!今天简单聊一聊Shell中的case语句与函数。在多选择情况下使用case语句将非常方便,同时,函数的学习和使用对于学好一门编程语言也是非常重要的。
一、case语句case语句为多选择语句。可以用case语句匹配一个值与一个模式,如果匹配成功,则执行相匹配的命令。
1)语法结构
1234567891011121314case var in 定义变量;var代表是变量名pattern 1) 模式1;用 | 分割多个模式,相当于or command1 需要执行的语句 ;; 两个分号代表命令结束pattern 2) command2 ;;pattern 3) command3 ;; *) default,不满足以上模式,默认执行*)下面的语句 command4 ;;esac esac表示case语句结束
2)eg
eg1:当给程序传入start、stop、reload三个不同参数时分 ...
Shell随机数
大家好呀!今天简单聊一聊Shell中的random随机数。随机数的生成及应用非常广泛常见,了解随机数的使用也是有必要的。
1、基本用法bash默认有一个$RANDOM的变量,默认是0~32767。
set |grep RANDOM:查看上一次产生的随机数
12345678910111213# 默认是0~32767echo $RANDOM# 查看上一次产生的随机数set |grep RANDOM# 产生0~1之间的随机数echo $[$RANDOM%2]# 产生0~2之间的随机数echo $[$RANDOM%3]# 产生0~100内的随机数echo $[$RANDOM%101]
依此类推,产生0~n之间的随机数:echo $[$RANDOM%(n+1)]
巧妙的利用加法:
12345# 产生50-100之内的随机数echo $[$RANDOM%51+50]# 产生三位数的随机数echo $[$RANDOM%900+100]
2、简单应用编写一个脚本,产生一个phonenum.txt文件,随机产生以139开头的手机号1000个,每个一行。
1)创建一个random.sh脚本
1vim r ...
Shell流程控制
大家好呀!今天简单聊一聊Shell的流程控制。任何一门编程语言的学习,在了解了其基本的语法规则和变量外,都是从基础的流程控制语句开始学习。流程控制无非是顺序、分支(选择)加上循环,对于任何一门编程语言而言都是类似的。
一、选择语句1、语法结构1)if语句
只有条件为真才会执行command命令
123456if [ condition ];then command commandfi[ 条件 ] && command
2)if-else语句
只有条件为真才会执行command1,否则执行command2
12345if [ condition ];then command1 else command2fi
或使用条件判断(逻辑与、逻辑或)
1[ 条件 ] && command1 || command2
&&:前面的表达式为真,才会执行后面的内容||:前面的表达式为假,才会执行后面的内容
3)if-elif-else语句
如果条件1满足,执行命令1后结束;如果条件1不满足,再看条件2,如果条件2满足执行命令2后结束;如果条件1和条 ...
Shell条件判断
大家好呀!今天简单聊一聊Shell条件判断相关的内容,如文件比较、整数及字符串之间的判断、多重条件判断等。
1、语法格式三种语法格式:
1)test 条件表达式
test -e file:文件file存在则为真
2)[ 条件表达式 ]
[ -d /shell01/dir1 ]:目录dir1存在则为真[ ! -d /shell01/dir1 ]:目录dir1不存在则为真
3) [[ 条件表达式 ]],支持正则
[[ -f /shell01/1.sh ]]:文件1.sh存在且为普通文件,则为真
注意中括号前后都要有空格
通过man test查看对应参数及其用法,0为真,1为假。与通常的1真0假不同。
2、条件判断相关参数2.1 文件存在与否判断1)常用
1234-e 是否存在(不管是文件还是目录,只要存在,条件就成立)-f 是否为普通文件-d 是否为目录-s 判断文件是否有内容(大小),非空则为真
!表示取反,eg:-s表示非空,! -s 表示空文件。-d表示目录存在,! -d表示目录不存在。
2)其他
12345-S socket-p pipe-c character-b blo ...
Shell编程(2)
大家好呀!今天简单介绍一下Shell基础,包括变量、数组以及四则运算等方面内容。
1、变量1.1 变量分类1)本地变量:当前用户自定义的变量。当前进程中有效,其他进程及当前进程的子进程无效。2)环境变量:当前进程有效,且能够被子进程调用。
env:查看当前用户的环境变量set:查询当前用户的所有变量(临时变量与环境变量)export:将当前变量变成环境变量
1234567# 临时将一个本地变量(临时变量)变成环境变量export A=hello env|grep ^A# 永久生效:vim /etc/profile 或者 ~/.bashrc# 系统中有一个变量PATH,即环境变量
3)全局变量:全局所有的用户和程序都能调用,且继承,新建的用户也默认能调用。
12345678910111213141516$HOME/.bashrc #当前用户的bash信息(aliase、umask等)$HOME/.bash_profile #当前用户的环境变量$HOME/.bash_logout #每个用户退出当前shell时最后读取的文件/etc/bashrc #使用ba ...
Shell编程(1)
大家好呀!今天来简单介绍一下Shell基础,Shell介于内核与用户之间,是一个命令解释器,负责命令的解释。简单理解,Shell既是一个程序也是一种脚本语言。
1、shell介绍1.1 概述shell介于内核与用户之间,是一个命令解释器,负责命令的解释。shell是人机交互的桥梁,通过在终端上输入shell命令来控制linux内核,进而控制系统硬件。
1.2 shell的种类1cat /etc/shells
终端输入ps命令,可以看到bash的进程。当用户在终端上输入命令后,会由该bash进行解析,所以解析命令的是bash,而不是终端(终端只是一个程序,而真正解析的是bash)
终端可以看做是bash的接口,而bash就是shell的一种类型(bash shell)
2、shell脚本2.1 概述1)什么是shell脚本?
简单理解,将需要执行的命令保存到文本中,按照顺序执行。由于shell是解释型的,所以无需编译。
概括而言,若干命令 + 脚本的基本格式 + 脚本特定语法 + 思想= shell脚本
2)什么时候用到脚本?
对于重复化、复杂化的工作,通过把工作的命令写成 ...
DNS服务
今天来简单聊一聊DNS服务,众所周知,在网络中计算机之间是通过IP地址进行互相访问的,当我们访问某个域名时,其背后是DNS服务器进行了域名解析,并得到对应的IP地址。域名相比于IP地址而言,更加简单易记,从而可以更方便地访问。
一、背景引入及DNS概述我们先从背景出发,然后具体介绍什么是DNS,最后通过搭建DNS服务器进行上手实战。
1、背景引入公司内网中需要通过域名访问到开发的web应用,以获得更好的访问体验。为此需要在内网中搭建DNS服务器解析域名,通过内网DNS服务,访问到公司内部应用。
如下图例,我们PC端在访问某个域名时,其实背后是DNS服务器先进行了域名解析,得到对应的IP地址,域名只是一种访问的形式,其底层还是IP地址。
2、DNS概述DNS(domain name system),即域名管理系统。域名由特定的格式组成,用来表示互联网中某一台计算机或者计算机组的名称,域名的好处是实现更方便的访问,而不用去记复杂的IP地址。
互联网中,计算机都是通过IP地址进行互相访问的。计算机 => IP地址。
由于IP地址复杂难记,如192.168.91.10,所以一般使用域名 ...
SAMBA服务
大家好呀!这里是码农后端。今天来简单聊一聊SAMBA服务。SAMBA服务主要用于实现windows和Linux下的文件共享、打印共享等。
一、SAMBA文件共享1、什么是SAMBA?SMB(Server Message Block)协议实现文件共享,也称为CIFS(Common Internet File System),是Windows和类Unix系统之间共享文件的一种协议。客户端主要是Windows,支持多节点同时挂载以及并发写入;主要用于windows和Linux下的文件共享、打印共享,实现匿名与本地用户文件共享。
2、SAMBA主要进程2.1 smbd进程控制发布共享目录与权限、负责文件传输 ,TCP,139 445
2.2 nmbd进程1)用于名称解析netbios,UDP,137 138 ;2)基于NETBIOS协议获得计算机名称 => 解析为相应IP地址,实现信息通讯
NetBIOS(Network Basic Input/Output System),一般指用于局域网通信的一套API
3、SAMBA环境准备1)从模板机中克隆一台Linux服务器SA ...
什么是生成式AI?
大家好呀!这里是码农后端。近些年来,AI技术的持续火爆,无不印证了AI将引领下一场工业革命。认识AI并发展使用AI,是顺应时代和技术变革的需要。今天来简单聊一聊什么是生成式AI、什么是AIGC,及其背后的工作原理和关键技术。
一、背景引入过去十年以来,AI 一直是热门技术话题,但生成式 AI,尤其是 2022年ChatGPT 的出现,使 AI 成为全球头条新闻,并掀起了前所未有的 AI 创新和采用浪潮。
生成式 AI 为个人和组织提供了巨大的工作效率优势,同时也产生了非常现实的挑战和风险,但企业正在向前迈进,深入了解该技术如何能改善其内部工作流程,并丰富其产品和服务。
管理咨询公司 McKinsey 的研究显示,三分之一的组织至少已经在一项业务职能中定期使用生成式 AI。行业分析机构 Gartner 预计,截至 2026 年,超过 80% 的组织将部署生成式 AI 应用程序,或使用生成式 AI 应用程序编程接口 (API)。
二、什么是生成式 AI?回归正题,那么到底什么是生成式 AI呢?
生成式 AI,也称作 gen AI,是一种人工智能 (AI),能够创建原创内容,如文本、图像、视 ...
NFS服务
大家好呀!这里是码农后端。今天来简单聊一聊NFS服务。NFS(Network FileSystem,网络文件系统),是一个比较轻量级的服务,如果想要搭建一个大容量的存储平台,那么使用NFS既简单又快速。
一、NFS服务概述1、背景引入为了提高用户的访问效率,现需要将原有web服务器上的静态资源文件分离出来,单独保存到一台文件服务器上。
1)搭建NFS服务器(用于静态资源的存储如图片、视频、附件)
2)使用mount指定对NFS服务器进行挂载,挂载到Web服务器中
2、环境准备由模版机CentOS7.6(通过恢复到快照还原为系统初始状态)在关机情况下使用完整克隆,克隆出3台一模一样的机器,分别为Web、NFS和Backup。
编号
主机名称FQDN
IP地址
作用
1
web.itweb.cn
10.1.1.11
Web服务器
2
nfs.itweb.cn
10.1.1.12
NFS服务器
3
backup.itweb.cn
10.1.1.13
Backup服务器
FQDN(Fully Qualified Domain Name),是一种网络标识符,用于唯一地标 ...