Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器

首页 / 操作系统 / Linux

一键配置CentOS iptables防火墙的Shell脚本分享

一键配置CentOS iptables防火墙的Shell脚本分享

手里几台VPS配置iptables太繁琐,看到了朱哥的LNMP脚本里有一个自动配置iptables防火墙的脚本,借来改了一下,给需要的人用;只提供常用端口的设置,如果你有特殊需求只需自行添加或减少相应的端口即可;使用方法:复制代码 代码如下:chmod +x iptables.sh./iptables.sh设置iptables开机自动启动:复制代码 代码如下:chkconfig --level 345 iptables on完整Shell:复制代码 代码如...
什么是Shell?Shell脚本基础知识详细介绍

什么是Shell?Shell脚本基础知识详细介绍

Shell本身是一个用C语言编写的程序,它是用户使用Linux的桥梁。Shell既是一种命令语言,又是一种程序设计语言。作为命令语言,它交互式地解释和执行用户输入的命令;作为程序设计语言,它定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和分支。它虽然不是Linux系统核心的一部分,但它调用了系统核心的大部分功能来执行程序、建立文件并以并行的方式协调各个程序的运行。因此,对于用户来说,shell是最重要的实用程序,深入了解和熟练掌握...
Shell脚本定义变量和重新赋值

Shell脚本定义变量和重新赋值

Shell支持自定义变量。定义变量定义变量时,变量名不加美元符号($),如: 复制代码 代码如下:variableName="value"注意,变量名和等号之间不能有空格,这可能和你熟悉的所有编程语言都不一样。同时,变量名的命名须遵循如下规则:•首个字符必须为字母(a-z,A-Z)。•中间不能有空格,可以使用下划线(_)。•不能使用标点符号。•不能使用bash里的关键字(可用help命令查看保留关键字)。变量...
Shell脚本字符串单引号和双引号的区别浅析

Shell脚本字符串单引号和双引号的区别浅析

一、字符串基础知识字符串是shell编程中最常用最有用的数据类型(除了数字和字符串,也没啥其它类型好用了),字符串可以用单引号,也可以用双引号,也可以不用引号。单双引号的区别跟PHP类似。单引号复制代码 代码如下:str="this is a string"单引号字符串的限制:•单引号里的任何字符都会原样输出,单引号字符串中的变量是无效的;•单引号字串中不能出现单引号(对单引号使用转义符后也不行)。双引号复制代码 代码如下:your...
Shell脚本数组操作小结

Shell脚本数组操作小结

Linux Shell在编程方面比Windows批处理强大很多,无论是在循环、运算。bash支持一维数组(不支持多维数组),并且没有限定数组的大小。类似与C语言,数组元素的下标由0开始编号。获取数组中的元素要利用下标,下标可以是整数或算术表达式,其值应大于或等于0。定义数组在Shell中,用括号来表示数组,数组元素用“空格”符号分割开。定义数组的一般形式为:复制代码 代码如下:数组名=(值1 值2 ... 值n)例如:复制代码 代码如下:array_nam...
Shell脚本echo指令使用小技巧

Shell脚本echo指令使用小技巧

echo是Shell的一个内部指令,用于在屏幕上打印出指定的字符串。命令格式: 复制代码 代码如下:echo arg您可以使用echo实现更复杂的输出格式控制。显示转义字符复制代码 代码如下:echo ""It is a test""结果将是:"It is a test"双引号也可以省略。显示变量复制代码 代码如下:name="OK"echo "$name It is a test"结果将是:OK It is a test同样双引号也可以省略。如果变量与其...
Shell脚本case语句简明教程

Shell脚本case语句简明教程

Shell case语句为多选择语句。可以用case语句匹配一个值与一个模式,如果匹配成功,执行相匹配的命令。case语句格式如下:复制代码 代码如下:case 值 in模式1) command1 command2 ... commandN ;;模式2) command1 command2 ... commandN ;;esaccase工作方式如上所示。取值后面必须为单词in,每一模式必须以右括号结束。取值可以为变量或常数。匹配发现取值符合某一模式后,其间...
Shell脚本for循环语句简明教程

Shell脚本for循环语句简明教程

与其他编程语言类似,Shell支持for循环。for循环一般格式为: 复制代码 代码如下:for 变量名 in 列表do command1 command2 ... commandNdone当变量值在列表里,for循环即执行一次所有命令,使用变量名获取列表中的当前取值。命令可为任何有效的shell命令和语句。in列表可以包含替换、字符串和文件名。in列表是可选的,如果不用它,for循环使用命令行的位置参数。例如,顺序输出当前列表中的数字:复制代码 代码如下...
Shell脚本while、until循环语句简明教程

Shell脚本while、until循环语句简明教程

一、while循环while循环用于不断执行一系列命令,也用于从输入文件中读取数据;命令通常为测试条件。其格式为: 复制代码 代码如下:while 命令do command1 command2 ... commandNdone命令执行完毕,控制返回循环顶部,从头开始直至测试条件为假。以下是一个基本的while循环,测试条件是:如果COUNTER小于5,那么条件返回真。COUNTER从0开始,每次循环处理时,COUNTER加1。运行上述脚本,返回数字1到5,...
Shell脚本break和continue命令简明教程

Shell脚本break和continue命令简明教程

在循环过程中,有时候需要在未达到循环结束条件时强制跳出循环,Shell使用两个命令来实现该功能:break和continue。break命令break命令允许跳出所有循环(终止执行后面的所有循环)。下面的例子中,脚本进入死循环直至用户输入数字大于5。要跳出这个循环,返回到shell提示符下,需要使用break命令。 复制代码 代码如下:#!/bin/bashwhile :do echo -n "Input a number between 1 to 5: ...
Shell脚本函数定义和函数参数

Shell脚本函数定义和函数参数

一、Shell函数本教程目前为止所有脚本都是从头到尾执行。这样做很好,但你也许已经注意到有些脚本段间互相重复。shell允许将一组命令集或语句形成一个可用块,这些块称为shell函数。shell中函数的定义格式如下:复制代码 代码如下:函数名(){ command1 command2 ... commandN [ return value ]}如果愿意,可在函数名前加上关键字function,这取决于使用者。复制代码 代码如下:function 函数名()...
让代码整洁、过程清晰的BASH Shell编程技巧

让代码整洁、过程清晰的BASH Shell编程技巧

这是我写BASH程序的招式。这里本没有什么新的内容,但是从我的经验来看,人们爱滥用BASH。他们忽略了计算机科学,而从他们的程序中创造的是“大泥球”(译注:指架构不清晰的软件系统)。在此我告诉你方法,以保护你的程序免于障碍,并保持代码的整洁。一、不可改变的全局变量1.尽量少用全局变量2.以大写命名3.只读声明4.用全局变量来代替隐晦的$0,$1等在我的程序中常使用的全局变量:复制代码 代码如下:readonly PROGNAME=$(basename $0...
shell常用重定向实例讲解

shell常用重定向实例讲解

每个打开的文件都会被分配一个文件描述符.stdin (键盘), stdout (屏幕), 和 stderr (错误消息输出到屏幕上)的文件描述符分别是0, 1, 和 2. 对于正在打开的额外文件, 保留了描述符3到9.文件描述符是文件系统为了跟踪这个打开的文件而分配给它的一个数字。下面以实例说明1,>的用法复制代码 代码如下:[zhangy@localhost ~]$ echo "11111" > 1.txt[zhangy@localhost ...
awk中RS、ORS、FS、OFS的区别和联系小结

awk中RS、ORS、FS、OFS的区别和联系小结

学习awk时,一定要记得动手去实践,只有在实践中才能发现问题,以下就我在学习中和实践中的经验,总结一下RS,ORS,FS,OFS的区别和联系。一,RS与ORS1,RS是记录分隔符,默认的分隔符是 ,具体用法看下复制代码 代码如下:[root@krlcgcms01 mytest]# cat test1 //测试文件111 222333 444555 6662,RS默认分割符 复制代码 代码如下:[root@krlcgcms01 mytest]# awk "{...
shell自定义函数的6个特点总结

shell自定义函数的6个特点总结

最近系统的学习了一下shell的函数,总体感觉根其他语言的函数差不多,不过它也有自身的特点一,调用函数必须在定义函数的后,不然会报错的复制代码 代码如下:funfun (){echo "aaaaaa"}fun返回结果如下:复制代码 代码如下:[root@krlcgcms01 mytest]# sh fun.shfun.sh: line 1: fun: command not found //第一次调用fun是报错的,fun没有定义aaaaaa //第二次调...
<< 151 152 153 154 155 156 157 158 159 160 >>