Welcome 微信登录

首页 / 操作系统 / Linux

Shell脚本中通过正则表达式匹配IP地址

Shell脚本中通过正则表达式匹配IP地址

在运维场景下,我们经常需要在服务器上用正则表达式来匹配IP地址。shell和其它编程语言一样,也可以使用正则分组捕获,不过不能使用 $1或1这样的形式来捕获分组,可以通过数组${BASH_REMATCH}来获得,如${BASH_REMATCH[1]},${BASH_REMATCH[N]}下面以ip="121.0.2.2"为例,shell脚本代码如下(当然,你要做成更通用交互式的脚本,可以通过expect来实现):复制代码 代码如下:#!/bin/bashi...
Linux Shell脚本系列教程(一):Shell入门

Linux Shell脚本系列教程(一):Shell入门

一、Shell简介诸多类Unix操作系统的设计令人惊叹。即便是在数十年后的今天,Unix式的操作系统架构仍是有史以来最佳的设计之一。这种架构最重要的一个特性就是命令行界面或者shell。shell环境使得用户能与操作系统的核心功能进行交互。术语脚本更多涉及的便是这种环境。编写脚本通常使用某种基于解释器的编程语言。shell脚本本质上就是一些文本文件,我们可以将一系列需要执行的命令写入其中,然后通过shell来执行。在这里我们介绍的是Bash shell(B...
Linux Shell脚本系列教程(二):终端打印命令详解

Linux Shell脚本系列教程(二):终端打印命令详解

终端打印终端是交互式工具,用户可以通过它与shell环境进行交互。在终端中打印文本是大多数shell脚本和工具日常需要执行的基本任务。通过终端打印,人们可以知道系统的运行状态,这对用户来说是至关重要的。echo终端打印复制代码 代码如下:echo "Welcome to Bash"echo "Welcome to Bash"echo Welcome to Bash以上三种方法的效果是一样的,输出内容都是“Welcome to Bash”,并在末尾添加换行符...
Linux Shell脚本系列教程(三):变量和环境变量

Linux Shell脚本系列教程(三):变量和环境变量

一、玩转变量和环境变量变量是任何一种编程语言都必不可少的组成部分,用于存放各种类型的变量。脚本语言大多是弱类型语言(动态语言),也就是说在使用变量时,不需要事先声明变量的类型,只需要直接赋值就可以。在Bash中,每一个变量的值都是字符串。无论你给变量赋值时有没有使用引号,值都会以字符串的形式存储。有一些特殊的变量会被shell环境和操作系统保留,用来存储一些特别的值,这类变量就称为环境变量,相信大家对环境变量也并不陌生,因为即使在windows操作系统上,...
Linux Shell脚本系列教程(四):使用函数添加环境变量

Linux Shell脚本系列教程(四):使用函数添加环境变量

一、简介环境变量通常用于存储路径列表,这些路径用于搜索可执行文件、库文件等。例如:$PATH、$LD_LIBRARY_PATH,它们通常看起来像这样:复制代码 代码如下:PATH=/usr/bin;binLD_LIBRARY_PATH=/usr/lib;lib这意味着只要shell需要运行二进制可执行文件时,它会首先查找/usr/bin,然后查找/bin。在ubuntu14.04中,PATH和LD_LIBRARY_PATH存储的路径如下所示:复制代码 代码...
Linux Shell脚本系列教程(五):数学运算

Linux Shell脚本系列教程(五):数学运算

在任何一种编程语言中,算术运算都是必不可少的,shell也不例外。一、使用let、(())和[]进行算术运算可以使用普通变量赋值方法定义数值,这是,它会被保存为字符串。我们可以通过使用let、(())、[]等操作符,使得这些变量进行算术运算。例如:复制代码 代码如下:#!/bin/bashno1=4 #此处no1义字符串形式存储no2=5 #此处no2义字符串形式存储let result=no1+no2 echo $result #输出结果为 9let n...
Linux Shell脚本系列教程(六):数组和关联数组

Linux Shell脚本系列教程(六):数组和关联数组

一、数组和关联数组数组是Shell脚本非常重要的组成部分,它借助索引将多个独立的独立的数据存储为一个集合。普通数组只能使用整数作为数组索引,关联数组不仅可以使用整数作为索引,也可以使用字符串作为索引。通常情况下,使用字符串做索引更容易被人们理解。Bash从4.0之后开始引入关联数组。二、定义打印普通数组数组的方法有如下几种:复制代码 代码如下:#在一行上列出所有元素array_var=(1 2 3 4 5 6)#以“索引-值”的形式一一列出array_va...
Linux Shell脚本系列教程(七):脚本调试

Linux Shell脚本系列教程(七):脚本调试

一、调试脚本调试功能是每一种编程语言都应该实现的重要特性之一,当出现一些始料未及的情况时,用它来生成脚本的运行信息,调试信息可以帮你弄清楚是什么原因使得程序发生崩溃或者行为异常。二、Bash内建调试功能使用Bash的内建调试功能,可以对整个脚本进行调试,也可以仅对脚本中的某些语句进行调试。#使用set -x和set +x对脚本的某一句进行调试复制代码 代码如下:#!/bin/bashfor i in { 1 2 3 4 5 6 };do set -x #开...
Shell中if的基本语法和常见判断用法

Shell中if的基本语法和常见判断用法

if, for, while几乎是所有编程语言的关键字,在Shell编程中也不例外,其中if是使用频率最高的,由于Shell编程中不存在对象(Object)的概念,因此在if的比较判断中主要是对字符串、数字的值进行比较判断的:一. if的基本语法1.if与[之间要有空格2.[]与判断条件之间也必须有空格3.]与;之间不能有空格二. 对字符串的判断1.if [ str1=str2 ];then fi #当两个字符串相同时返回真2.if [ str1!=str...
Linux bash Shell中的变量类型详解

Linux bash Shell中的变量类型详解

在Linux系统中进行日常运维或者是编写脚本时,变量是再熟悉不过的了,但这些变量都有哪些类型,具体的用法又有哪些差异呢?本文整理分享给大家:一、bash变量类型:本地变量局部变量环境变量位置变量特殊变量(内置)二、本地变量:varname=value:作用域为整个bash进程可以使用;变量命名规范:1. 只能含字母、数字和下划线,并且以字母和下划线开头2. 最好不要跟系统已有的环境变量重名3. 见名知意三、局部变量:local varname=value:...
简介Linux中cp和mv搭配{,}在shell当中的用法

简介Linux中cp和mv搭配{,}在shell当中的用法

经常会在博客或者论坛看到类似下面的命令 大括号扩展 Brace expansion { } shell 作用cp /etc/httpd/httpd.{,.bakup}或者是mv resume{z,}.doc那么,在uinx / linux shell命令中是什么意思?起什么作用呢?{ } 并没有什么实际的含义,但是却可以作为Brace expansion(大括号扩展或叫做花括号扩展)而经常用于产生各种组个。以下是翻译自 GNU/BASH man p...
<< 171 172 173 174 175 176 177 178 179 180 >>