随笔分类 - shell
摘要:1. eval command-line 其中command-line是在终端上键入的一条普通命令行。然而当在它前面放上eval时,其结果是shell在执行命令行之前扫描它两次。如: pipe="|" eval ls $pipe wc -l shell第1次扫描命令行时,它替换出pipe的值|,接着
阅读全文
摘要:安装 mutt brew install mutt 配置 .muttrc 网上的配置教程 我的配置文件: ## .muttrc ## Purpose: $HOME/.muttrc for mutt ## Author: IOU ## Last Update: 04-22-2013 ## Settin
阅读全文
摘要:实现思路 实现一个shell进程库,通过类似于init,run,wait几个简单的命令,就可以迅速实现多进程并发,伪码如下: process_init # 创建进程 for city in ${cities[*]} do cmd="handler $city" process_run $cmd do
阅读全文
摘要:> 我只讲它很小的一部分功能,因为我也是刚刚开始摸索这个软件。更多的用法请查阅官网:http://www.mutt.org 一、mutt的安装 1 yum -y install sendmail 2 #需要安装sendmail并开启防火墙的25端口,如果你需要收邮件110端口也要开 3 yum -y
阅读全文
摘要:默认的情况下,Shell脚本中的命令是串行执行的,必须等到前一条命令执行完后才执行接下来的命令,但是如果我有一大批的的命令需要执行,而且互相又没有影响的情况下(有影响的话就比较复杂了),那么就要使用命令的并发执行了。 如下: #!/bin/bash IPLIST=/home/meta/ipinfo/
阅读全文
摘要:作为一名后台开发,写shell脚本可能是工作中避免不了的,比如日志分析过滤、批量请求和批量插入数据等操作,这些如果单纯靠人工手动去处理既费时又费力,有了shell脚本就可以轻松搞定,当然有人会说可以用python或者其他编程语言,这并不是不可以,但没有哪个有shell这么简单方便快捷的。需要依赖库不
阅读全文
摘要:rsync命令是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件。rsync使用所谓的“rsync算法”来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快。 rsync功能 作为命令,实现本地-远程文件同步 作为服务,实
阅读全文
摘要:不同端口同步(前提还是做好免密) 主要通过选项-e "ssh -p 端口"来实现 重命名了秘钥文件 指定-i即可~ 1. 本地目录同步到导地不同端口主机目录 [root@bakserver ~]# rsync -avc a210/ -e "ssh -p 1876" 39.108.136.98:/tm
阅读全文
摘要:提要 熟悉 rsync 的功能及其特点 掌握 rsync 语法及常用选项的功能 掌握 rsync 命令的三种基本使用方法 掌握如何筛选 rsync 的传输目标 掌握使用 rsync 进行镜像和增量备份的方法 rsync 简介 rsync(remote synchronize)是一个远程数据同步工具,
阅读全文
摘要:假设有变量 var=http://www.aaa.com/123.htm. 1. # 号截取,删除左边字符,保留右边字符。 1 echo ${var#*//} 其中 var 是变量名,# 号是运算符,*// 表示从左边开始删除第一个 // 号及左边的所有字符即删除 http://结果是 :www.a
阅读全文
摘要:getopt 命令 使用getopt命令,可以解析任何命令行选项和参数,但是用法比较复杂。getopt的命令用法如下: $ getopt --help 用法: getopt optstring parameters getopt [options] [--] optstring parameters
阅读全文
摘要:命令行参数 $0 表示程序名。$1 至 \$9则是位置参数。$# 表示参数的个数。$* 将所有参数当做一个整体来引用$@ 把每个参数作为一个字符串返回,可以使用for循环来遍历$? 最近一个执行的命令的退出状态。0表示执行成功$_ 上一个命令的最后一个参数。使用快捷键 ESC+. 也是这个效果 位置
阅读全文
摘要:一、小括号,圆括号() 1、单小括号 () ①命令组。括号中的命令将会新开一个子shell顺序执行,所以括号中的变量不能够被脚本余下的部分使用。括号中多个命令之间用分号隔开,最后一个命令可以没有分号,各命令和括号之间不必有空格。 ②命令替换。等同于`cmd`,shell扫描一遍命令行,发现了$(cm
阅读全文
摘要:概述 看多shell脚本实例自然就会有shell脚本的编写思路了,所以我一般比较推荐看脚本实例来练习shell脚本。下面分享几个shell脚本实例。 1、监测Nginx访问日志502情况,并做相应动作 假设服务器环境为lnmp,近期访问经常出现502现象,且502错误在重启php-fpm服务后消失,
阅读全文
摘要:概述 读书百遍其义自见,shell脚本也是,只要例子看得多了,自然就知道怎么写了。这里主要整理了20几个例子,因为内容比较多,所以分了几次来做介绍了。下面的实例最好先自己思考怎么去实现,然后再看下实现的方式,答案不是标准的,也存在一些可以继续完善的地方。 1、文件以日期命名,并写入磁盘使用情况 #!
阅读全文
摘要:【脚本1】打印形状打印等腰三角形、直角三角形、倒直角三角形、菱形 #!/bin/bash # 等腰三角形 read -p "Please input the length: " n for i in `seq 1 $n` do for ((j=$n;j>i;j--)) do echo -n " "
阅读全文
摘要:Shell在编程方面比Windows批处理强大很多,无论是在循环、运算。bash支持一维数组(不支持多维数组),并且没有限定数组的大小。类似与C语言,数组元素的下标由0开始编号。获取数组中的元素要利用下标,下标可以是整数或算术表达式,其值应大于或等于0。 定义数组 在Shell中,用括号来表示数组,
阅读全文
摘要:1 shell脚本执行方法 有两种方法执行shell scripts,一种是新产生一个shell,然后执行相应的shell scripts;一种是在当前shell下执行,不再启用其他shell。新产生一个shell然后再执行scripts的方法是在scripts文件开头加入语句:#!/bin/sh。
阅读全文
摘要:1.打印进度条(待完善) #!/bin/sh printf -- 'Performing asynchronous action..'; DONE=0; printf -- '...................'; while [ $DONE -lt 10 ]; do printf -- $DO
阅读全文
摘要:首先明确一点: 所有的在cmd命令行下对环境变量的修改只对当前窗口有效,不是永久性的修改。也就是说当关闭此cmd命令行窗口后,将不再起作用。永久性修改环境变量的方法有两种:一种是直接修改注册表(此种方法目前没试验过),另一种是通过我的电脑-〉属性-〉高级,来设置系统的环境变量(查看详细)。 其次,明
阅读全文