shell脚本实例-命令记录】的更多相关文章

http://bbs.51cto.com/thread-594667-1.html script使用注意事项输入1: [root@-shiyan rec]# cat record1 #!/bin/bash #Filename:Record.sh dir=/tmp/rec read -p "Please input the session filename: " filename sesfile="$dir/$filename.session" logfile=&qu…
概述 看多shell脚本实例自然就会有shell脚本的编写思路了,所以我一般比较推荐看脚本实例来练习shell脚本.下面分享几个shell脚本实例. 1.监测Nginx访问日志502情况,并做相应动作 假设服务器环境为lnmp,近期访问经常出现502现象,且502错误在重启php-fpm服务后消失,因此需要编写监控脚本,一旦出现502,则自动重启php-fpm服务. #场景:#1.访问日志文件的路径:/data/log/access.log#2.脚本死循环,每10秒检测一次,10秒的日志条数为3…
场景:在linux A 上执行Linux B上的shell脚本和命令 步骤1.设置ssh免登陆 1.SSH无密码登录 # 本地服务器执行(A机器):生成密钥对 ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa cp  ~/.ssh/id_dsa.pub authorized_keys 如果有邮箱的话,使用 ssh-keygen -t rsa -C anl@163.comcat ~/.ssh/id_rsa.pub 然后使用winscp或者fileziall之类的文件…
&&,||,(),{},& 五个符号的运用shell脚本执行命令的时候,有时候会依赖于前一个命令是否执行成功.而&&和||就是用来判断前一个命令执行效果的. 也可以使用 $? 变量判断一个命令是否执行成功.根据返回的结果判断是否执行下面的命令.1  &&   使用方法:cmd1 &&  cmd2   这个方式简单明了,cmd1如果返回结果为真(即执行返回为0,成功执行)后,cmd2才被执行   换句话说,如果cmd1执行成功&…
概述 读书百遍其义自见,shell脚本也是,只要例子看得多了,自然就知道怎么写了.这里主要整理了20几个例子,因为内容比较多,所以分了几次来做介绍了.下面的实例最好先自己思考怎么去实现,然后再看下实现的方式,答案不是标准的,也存在一些可以继续完善的地方. 1.文件以日期命名,并写入磁盘使用情况 #!/bin/bash ##################################################文件以日期命名,并写入磁盘使用情况#######################…
shell脚本监控网站并实现邮件.短信报警shell进程监控脚本(发送邮件报警)Shell脚本监控服务器在线状态和邮件报警的方法 http://www.jbxue.com/jb/shell/ 11. #!/bin/bash a="/tmp/test.log" while [[ -f $a ]]; do sleep 1; size=`ls -lrt $a | cut -d " " -f 5` echo $size if [ $size -ge 1024 ]; then…
Shell脚本是Linux开发工作中常用的工具,但是我一直没有找到一个适合自己的简明扼要的HandBook.在工作过程中整理了一下,贴在这里已备查看. 1           Shell中的特殊符号 1.1           $  美元符号.用来表示变量的值.如变量NAME的值为Mike,则使用$NAME就可以得到“Mike”这个值. 1.2          #  井号.除了做为超级用户的提示符之外,还可以在脚本中做为注释的开头字母,每一行语句中,从#号开始的部分就不执行了. 1.3    …
问题的提出 公司开发机与远程服务器之间有严格的隔离策略,不能直接使用 ssh 登录,而必需通过跳板机.这样一来,本地与服务器之间的一些文件传输变得非常不便.经过咨询,运维教了我一招: $ nc -l 8080 > filename $ nc yunhai.xxxxxxxx.xxxxx.com 8080 < filename 使用 nc 建立连接来传输文件,第一行命令在服务器执行,第二行命令在本地执行,它的参数就是远程服务器的 host,运行完成后,将文件从本地拷贝到远程.这样确实可以工作,而且…
问题:设计一个Shell脚本:求命令行上所有整数和 Shell代码: 调用add.sh脚本结果:…
1. 在Makefile中想使用shell脚本,需要添加"@"符号,例如: @if [ -d xxx ]; then \                        //-d 判断是否存在,在shell中,用[]号代替括号 rm -rf xxx;  \ fi; @cp -fv  xxx  xxxx     //-f 删除已经存在的目标文件而不提示  -v  cp命令将告诉用户正在做什么 例:  cp -fv temp temp2 显示: 'temp'  ->  'temp2'…
备注:一些与传递给shell的参数相关的变量:$# 命令行参数的个数$? 调用命令的返回值$$ 当前进程的进程号$! 最后一个后台命令的进程号$0 命令行的第一个参数,也就是命令名$n 命令行的第n个参数,如果要取超过9个参数${n}$* 所有的命令行参数,等于("$1 $2...""$@" 所有的命令行参数,等于("$1" "$2"...)$_ 前一个命令的最后一个命令行参数   1.     写一个脚本,利用循环计算10的…
1.首先ldd不是一个可执行程序,而只是一个shell脚本2.ldd能够显示可执行模块的dependency,其原理是通过设置一系列的环境变量如下:LD_TRACE_LOADED_OBJECTS.LD_WARN.LD_BIND_NOW.LD_LIBRARY_VERSION. LD_VERBOSE等.当LD_TRACE_LOADED_OBJECTS环境变量不为空时,任何可执行程序在运行时,它都会只显示模块的 dependency,而程序并不真正执行.要不你可以在shell终端测试一下,如下:(1)…
mysql导出用户权限 mysql中直接通过授权即可使用对应用户,不必使用创建用户命令(如CREATE USER 'xxx'@'%' IDENTIFIED BY 'XXX';)先建用户再授权. 方法一:该脚本可以将所有授权数据到当前目录下的sql脚本(grants.sql)中,使用grants.sql脚本刷到数据库中即可完成授权数据迁移(注意:这里导出的数据包含root用户的授权关系,而且导入之后会把目前已有的数据覆盖掉,请确认需要覆盖再进行导入!!): #!/bin/bash #Functio…
1,echo "test" > test.txt    输出重定向到text.txt,文件不存在就创建 echo "test" >> test.txt    追加输出重定向到text.txt,文件不存在就创建 2, $# 是启动脚本时携带的参数个数 -ne 是不等于 这个语句的意思是“如果shell的启动参数不等于1个”$# 表示提供到shell脚本或者函数的参数总数: $1 表示第一个参数. -ne 表示 不等于 另外: 整数比较 -eq 等于,…
1.程序流程控制实例 程序流程控制,实际上就是改变程序的执行顺序.程序在执行过程中若流程被改变,就可能导致输出不同,因此利用这一特性就能够实现程序执行结果的控制.程序流程控制可分为“选择”和“循环”这两类,在需要根据实际需求的不同实现不同的输出时,就可以改变程序的执行流程. (1)for循环语句 基于for语句的循环,基于继续执行循环或者结束循环的方式.在for执行命令前,其会先检查所要执行的列表中所指定的值是否还有未使用的,若有未使用的就赋值并执行列表,直到列表中的值全部都使用过后才退出循环.…
一. 什么是shell 脚本时一种解释性语言: shell脚本保存执行动作: 脚本判定命令的执行条件 脚本来实现动作的批量执行.二.如何创建 vim  test.sh     ##shell脚本一般都是以.sh结尾三.执行方法  1.sh  test.sh              ##不执行开头的的命令  2.chmod +x  test.sh    /mnt/test.sh             ##执行的时候会先执行以#开头的第一句 四.脚本的调示  sh  -x  test.sh  …
本文转载自:http://yejinxin.github.io/parse-shell-options-with-getopt-command 在之前的一篇文章中,介绍了如何利用shell内置的getopts命令来帮助我们处理shell脚本选项和参数,其缺点是只能处理短选项,无法处理长选项.下面,本文将要介绍的是getopt命令,它可以同时处理短选项和长选项. 首先,getopt命令不是一个标准的unix命令,但它在大多数Linux的发行版中都自带了有,如果没有,也可以从getopt官网上下载安…
一.shell脚本概述和入门 (1)shell脚本是一个命令行解释器,它接收应用程序/用户命令,然后调用操作系统内核 (2)shell脚本的常用执行方式: 第一种:采用bash或sh+脚本的相对路径或绝对路径(不用赋予脚本+x执行权限) sh(bash) test.sh 第二种:采用输入脚本的绝对路径或相对路径执行脚本(必须具有可执行权限+x) ./test.sh 注意:第一种执行方法,本质是bash解析器帮你执行脚本,所以脚本本身不需要执行权限.第二种执行方法,本质是脚本需要自己执行,所以需要…
shell脚本能帮我们简化linux下的一些工作,现在有个需求,把TMPA文件夹下大于2000B的文件都移动到TMPB下 #! /bin/bash function movefiles() { ` do ] then mv $"/"$file fi done } movefiles "/home/jimmyxu/TMPA" "/home/jimmyxu/TMPB" 脚本很简单,使用for循环遍历第一个输入路径下的文件,使用stat获取文件的属性值…
1.nginx日志切割 vi /var/log/nginx/cut_nginx_log.sh #!/bin/bash date=$(date +%F -d -1day) cd /var/log/nginx/ if [ ! -d cut ] ; then mkdir cut fi mv access.log cut/access_$(date +%F -d -1day).log mv error.log cut/error_$(date +%F -d -1day).log /usr/sbin/ng…
1.9.1 实例需求 用户在进行Linux系统管理的过程中,经常需要用到查看进程的信息.用户的信息等常用的功能.本例针对这一需求,使用shell编程实现基本的系统管理 功能.通过本程序,可以按照要求实现查看进程信息.查看当前登录系统的用户信息等功能.程序主界面颜色可以更改,也可以显示帮助信息.1.9.2 系统设计        根据需求,首先考虑到界面的美观性,将主界面设计为菜单形式.个系统管理功能作为其中的一个菜单项.当用户选择某项功能后,则执行相应的代码段完成功能并输出.输出结束后再返回主菜…
1.传给脚本一个参数:目录,输出该目录中文件最大的,文件名和文件大小 #!/bin/bash if [ $# -ne 1 -o ! -d $1 ];then echo "Args is error." exit 3 fi LC=`du -a $1 | wc -l` for I in `seq $LC` ;do size=`du -a $1 | sort -nr | head -$I | tail -1 | awk '{print $1}'` filename=`du -a $1 | s…
格式化日期yyyy-mm-dd hh:mm:ss显示 date "+%Y-%m-%d %H:%M:%S" 将内容写入到新文件 echo "hello">a.txt 将内容追加到文件末尾(默认换行) echo "shell">>a.txt 赋予指定的用户可以使用root权限(使用root登录): vi /etc/sudoers ##如果root没有权限修改该文件则授权写和执行权限:chmod u+w /etc/sudoers和ch…
bash&shell系列文章:http://www.cnblogs.com/f-ck-need-u/p/7048359.html Linux中可以使用分号“;”.双and号“&&”和双竖线“||”来连接多个命令.单"&"符号也算命令连接符号,只不过它是将其前面的命令放入后台执行,所以可以变相地实现命令并行执行. 1.分号";" command1 ; command2 命令之间没有逻辑关系.分号连接的命令会按照顺序从前向后依次执行,但分…
bash&shell系列文章:http://www.cnblogs.com/f-ck-need-u/p/7048359.html 1.1 shell read简介 要与Linux交互,脚本获取键盘输入的结果是必不可少的,read可以读取键盘输入的字符. shell作为一门语言,自然也具有读数据的功能,read就是按行从文件(或标准输入或给定文件描述符)中读取数据的最佳选择.当使用管道.重定向方式组合命令时感觉达不到自己的需求时,不妨考虑下while read line. read [-rs] […
今天我给大家分享shell 安装mysql 多机部署的实例,本次实验是基于各个主机的公钥已经配置好了,如果还不会推送公钥的同学,可以看看我以前写的文章,那里面有写推公钥的实例,mysql 多机部署一般有两种办法,一种是远程ssh 安装,一种是将脚本推送到服务器本地安装,今天给大家分享的是ssh远程安装,回头了本地安装的方法我也给大家分享下. #!/usr/bin/bash while read ip do { #yum 配置yum源 ssh root@ip "rm -rf /etc/yum.re…
1.上次写了一个脚本我那次考虑不是很周全,这次我将脚本改动了一下,这次是判断三次, 希望关注我的人可以经常交流哈.下面我写上代码. #!/usr/bin/bash while read ip do fail_count=0 for count in {1..3} do ping -c1 -W1 $ip &>/dev/null if [ $? -eq 0 ];then echo "$ip ping is ok..." break else echo "$ip pi…
https://blog.csdn.net/twc829/article/details/72729799 make命令是一个常用的编译命令,尤其在C/C++开发中,make命令通过makefile文件中描述源程序之间的依赖关系进行自动编译: makefile文件是按照规定格式编写,需说明如何编译各个源文件并连接生成可执行文件,并要求定义源文件之间的依赖关系: 首次执行make命令时,编译所有相关文件,之后再执行make命令时,以增量方式进行编译,即只对修改的源文件相关的目标文件进行编译: 注:…
Shell 也支持将命令的执行结果赋值给变量,常见的有以下两种方式: variable=`command`variable=$(command) 第一种方式把命令用反引号` `(位于 Esc 键的下方)包围起来,反引号和单引号非常相似,容易产生混淆,所以不推荐使用这种方式:第二种方式把命令用$()包围起来,区分更加明显,所以推荐使用这种方式. 例如,我在 demo 目录中创建了一个名为 log.txt 的文本文件,用来记录我的日常工作.下面的代码中,使用 cat 命令将 log.txt 的内容读…
本章命令: 1 2 3 4 5 6 grep cut sort uniq seq tr 1.grep 作用:过滤文本内容 选项 描述 -E :--extended--regexp 模式是扩展正则表达式(ERE) -i :--ignore--case 忽略大小写 -n: --line--number 打印行号 -o:--only--matching 只打印匹配的内容 -c:--count 只打印每个文件匹配的行数 -B:--before--context=NUM 打印匹配的前几行 -A:--aft…