在写shell脚本的时候,我们经常会手动设置参数,然后对我们的输入的这些参数进行处理和分析,那么这个东东到底值怎么使用的呢? 1.$n $0代表命令本身,$1-9代表接受的第1-9个参数,10以上需要用{}括起来,比如${10}代表接收的第10个参数 2.$* 代表接收所有的参数,将所有参数看作一个整体 3.$@ 代表接收的所有参数,将每个参数区别对待,可以对比$*理解 4.$# 代表接收的参数个数 说得再多,不如实际操作,举个例子,加强一下理解. 执行看一下结果,对比理解一下: 请忽略那几个数…
1.为变量赋值时=前后一定没有空格. 2.赋值时变量为xx,读取才是$xx.如赋值是$xx,则报语法错误.参考 http://www.jb51.net/article/52375.htm 3.脚本每句话有没有分号;无所谓. 4.分支语句if [ xx==yy ] ; then elif [ yy!=zz ]; then else fi.空格一定要空对,if和then同一行时用;且then前有空格.fi和if,case和ease.参考http://www.cnblogs.com/kangyoung…
前言 第一次写linux脚本,有点紧张. 1. 写一个寻找特定用户的脚本文件? #! /bin/sh who | grep $1 其中脚本第一行用来告诉kernel去使用/bin/sh来解释这个脚本: 而$1则是执行脚本命令时带入的命令行参数,例如sh-# find_user me 用来查看当前的系统中是否有me这个用户登入. 2. 当脚本写好后,是无法直接运行的,为什么? 直接运行,就会出现如下的错误信息: sh-# ./find_user me sh: ./find_user: Permis…
在上篇的<使用C#给Linux写Shell脚本>结尾中,我们留下了一个关于C#如何调用BashShell的问题.在文章发布之后,我留意到有读者留言推荐使用“Pash”(一款类PowerShell的东西),在我下载并安装了该项目之后,尝试之下发现这仍然不是我们想要的.似乎C#还真的没有提供这种(输出重定向)功能,这也迫使我们采取了其他方式来实现.在本篇中,我们将提升“恫吓”等级并顺带把这个难题一并解决,各位看官请系好安全带. 本篇中,我们将介绍: (1).C#直接调用BashShell所遭遇的问…
我的服务器是使用tomcat的,时不时tomcat的进程会突然结束掉,不知道为什么,从日志上看也没有任何可疑之处,貌似就这样突然没了,接下来的日志都是重新启动tomcat之后打印的了.原因找不到,但要找变通方法,不要出了问题后总要上服务器去自己重启tomcat.我打算利用系统的cron服务来自动启动tomcat,很简单,大约1分钟检查一次tomcat的进程,如果没有,就启动之,脚本如下: #!/bin/bash export JRE_HOME=/usr/local/jre ]; then exi…
 本文来自:http://blog.csdn.net/woshinia/article/details/18040063   很早以前  编译的时候 就在用 2>&1,但是一直没有生成一个文档,来记录他,,今天看到这篇文章果断转走,,   将所有信息都输出到文件中的好处是,当编译信息庞大时   你可以在信息文件中过滤 如 error .ERR 的关键词,更容易的定位错误,和检查是否完全编译     -----------------------------------------------…
linux脚本(shell)编程 啊,昨天上网看到一篇讲 linux/unix shell 的文章,想想自己最后写这东西也是一年前的事了,想想都快忘光了. 还是整理一下,做一次回顾,以后说不定还用得上:帖出来,方便第一次学习这东西的同道中人. 如果发现有错误的地方,请指出,留一句即可,我会感激的.废话少说了!!! linux 下最重要的脚本语言算是 bash 了,我也就写点这个吧(我也只会这个:)).跟其他开发语言(如C)比,bash 是比较简单的一种语言,主要用于写一些脚本代码,一些批处理或安…
linux shell脚本的语法蛋疼,而且对于java开发人员来说又不常用,常常是学了一次等到下次用的时候又忘记了.因此制作这个速查笔记,用于要写shell脚本时快速回忆&速查. 获取当前脚本绝对路径 echo $(cd `dirname $0`;pwd) 判断字符串包含 if [[ "abcd" =~ "bc" ]]then echo "contain"fi…
1. Linux 脚本编写基础 1.1 语法基本介绍 1.1.1 开头 程序必须以下面的行开始(必须方在文件的第一行): #!/bin/sh 符号#!用来告诉系统它后面的参数是用来执行该文件的程序.在这个例子中我们使用/bin/sh来执行程序. 当编辑好脚本时,如果要执行该脚本,还必须使其可执行. 要使脚本可执行: 编译 chmod +x filename 这样才能用./filename 来运行 1.1.2 注释 在进行shell编程时,以#开头的句子表示注释,直到这一行的结束.我们真诚地建议您…
大家好!我是handsomecui,下面我为大家讲解一下shell脚本的写法,讲的不好的地方,欢迎大家留言拍砖. 1.在linux下会写shell脚本是非常重要的,下面我参照例子给大家展示几个脚本,顺带这学习shell 的语法: 什么时候helloworld是必不可少的,第一个脚本肯定与helloworld是离不开的: #!/bin/sh a="hello world!" num= echo "a is : $a num is : ${num}nd" 运行结果: a…
1. Linux 脚本编写基础1.1 语法基本介绍1.1.1 开头程序必须以下面的行开始(必须方在文件的第一行): #!/bin/sh 符号#!用来告诉系统它后面的参数是用来执行该文件的程序.在这个例子中我们使用/bin/sh来执行程序. 当编辑好脚本时,如果要执行该脚本,还必须使其可执行. 要使脚本可执行:编译 chmod +x filename 这样才能用./filename 来运行1.1.2 注释 在进行shell编程时,以#开头的句子表示注释,直到这一行的结束.我们真诚地建议您在程序中使…
centos shell编程4[分发系统] 服务器标准化  mkpasswd 生成密码的工具  expect讲解   expect传递参数   expect自动同步文件  expect指定host和要同步的文件   expect文件分发系统  expect自动发送密钥脚本  Linux脚本执行方式  第三十八节课 expect:TCL语言非常经典的扩展部分,实现程序的自动交互 服务器标准化:所有程序的路径,所有用户的密码,root密码都是一样的定期会全部更新root密码,这个叫标准化 http:…
修改host指定域名指向ip,Windows脚本与Linux脚本 一,Windows系统修改hosts文件 Windows系统下hosts文件位置:C:\Windows\System32\drivers\etc\hosts 找到后右键编辑(如果提示无法编辑.权限不够.只读模式等,需要将hosts文件复制粘贴到桌面或者其他盘修改完再挪回来) 在hosts文件末尾追加编辑即可. 修改格式是 ip    域名 示例: 10.13.83.43 yun.xiong.cn10.13.83.43 web.xi…
S04_CH03_QSPI烧写LINUX系统 3.1概述 3.2搭建硬件系统 本章硬件工程还是使用<S04_CH01_搭建工程移植LINUX/测试EMMC/VGA>所搭建的VIVADO工程. 3.3修改内核文件 Step1:切换到管理员模式 Step2:切换到scripts目录下,执行source setup_env.sh(注意source和"."是一致的),并将scripts.tar.gz中的两个脚本放到scripts目录下,通过这两个脚本可以打包QSPI镜像和将QSPI…
txt去重    http://man.linuxde.net/sort Linux 脚本编写基础 http://www.cnblogs.com/linn/archive/2007/03/05/664739.html http://blog.csdn.net/gzh0222/article/details/7530766 hostname修改http://www.centoscn.com/CentOS/config/2014/1031/4039.html…
linux脚本编程技术 一.什么是脚本 脚本是一个包含一系列命令序列的可执行(777)文本文件.当运行这个脚本文件时,文件中包含的命令序列将得到自动执行. 二.脚本编程 #!/bin/sh 首行固定格式 #!表明该脚本的的解析器,这里使用/bin/sh来解析 2.1变量 shell脚本允许用户设置和使用自己的变量,变量可以是数字或者字符串,用户无需指定其类型,也无需在使用前定义. #!/bin/sh a="hello world" b=5 echo “A is: $a” //使用变量时…
一步步教你搭建VS环境下用C#写WebDriver脚本http://www.automationqa.com/forum.php?mod=viewthread&tid=3529&fromuid=29…
Linux脚本执行过程重定向 一.bash调试脚本,并将执行过程重定向到指定文件 bash –x  shell.sh 2>&1 | tee shell.log…
例1:写一个脚本,利用循环和continue关键字,计算100以内能被3整除的数之和 运行结果: 例2: 写一个脚本,利用循环和continue关键字,计算100以内能被3整除的数之和 运行结果: 例3:写一个脚本,可以根据参数文件名,以正确的参数调用tar来解压缩tar.gz或tar.bz2文件 运行结果: 例4.写一个脚本以方便用户查询rpm的相关信息.这个脚本首先提示用户选择查询依据,比如文件名,包名, 全部等.然后提示用户选择查询信息,比如包名,包里所包含的所有文件,包的信息等.然后询问…
写一个脚本,执行后,打印一行提示“Please input a number:",要求用户输入数值,然后打印出该数 值,然后再次要求用户输入数值.直到用户输入"end"停止 说明: 1.unset Num可以要也可以不要 unset的作用是取消变量设置,防止之前的值对本脚本程序的影响 2.if语句注意if与条件之间有空格.条件里面要与两边的括号分别留有空格 3.echo -n 不要自动换行 运行结果:…
Linux脚本shell字符串处理,基本都有了,看着搜吧 TLDP教堂 shell中if条件字符串.数字比对,[[ ]]和[ ]区别 Linux 之 shell 比较运算符 Linux Shell编程变量赋值和引用  …
在Asp.net 服务端处理脚本,一般都用 ClientScriptManager ,即web窗体服务端的this.ClientScript.该对象比较常用的方法: 1.RegisterArrayDeclaration:在服务端,向客户端生成一个数组定义 服务端代码:   this.ClientScript.RegisterArrayDeclaration("aAry", "1,2,3"); 客户端“源文件”呈现 <script type="text…
写django的都知道,要跑起django测试环境,只需要 python manage.py runserver 就可以了,但是时间一长,就觉得敲这个命令太浪费时间了,而我又是个懒人. 同事用的是ctrl+ r,但是有时候还是会出现我不想要的. 那么,简单的就是写个shell,但我这种人,实在太懒,根本没时间学shell编程. 所以随便百度下,就写成下面这样. #!/bin/sh python manage.py runserver 够了吗?不够,我比这还懒,因为我还用到virtualenv.…
shell脚本是完全靠自学的,每一步需要注意的问题都是我自己亲自实践出来的,对于大神可能看来是小儿科,但是对于新手,是必须注意的 一.首先执行 echo $SHELL查看本机的解释器, 二.开始写脚本的时候,第一行脚本声明(#!)用来告诉系统使用哪种shell解释器来执行该脚本:第二行注释信息(#)是对脚本功能和某些命令的介绍信息 三.shell中的条件表达式中两遍一定要有空格,否则会提示语法错误 ps:-d参数是检查文件是否为目录文件,如果是返回数字 0,否则,意味着目录不存在 ps:-f参数…
实用程序1:列目录 #!/bin/bash path=`echo $PATH | sed 's/:/ /g'` for d in $path do echo $d done 这是一个for循环,注意path获取的变量结果是用符号``,这个是~下面的,不是单引号. 备注:命令替换符号的用法 命令替换.`command` 结构使字符(`)[译者注:这个字符不是单引号,而是在标准美国键盘上的ESC键下面,在字符1左边,在TAB键上面的那个键,要特别留心]引住的命令(command)执行结果能赋值给一个…
教你写Linux设备驱动程序:一个简短的教程 http://blog.chinaunix.net/uid-20799298-id-99675.html…
送给经常写shell脚本的兄弟们常写shell脚本的时候,大家一定都有困扰,怎么样能让.sh文件的表头自己生成,不用我们自己去敲呢 首先我们要编写一下/etc/vimrc执行 vim /etc/vimrc 在里面插入一些代码即可 autocmd BufNewFile *.sh exec ":call Set()" func Set() call append(0,"#!/bin/bash") call append(1,"#****************…
? 原创: 铲子哥 搜狗测试 今天 shell编程的时候,往往不会把所有功能都写在一个脚本中,这样不太好维护,需要多个脚本文件协同工作.那么问题来了,在一个脚本中怎么调用其他的脚本呢?有三种方式,分别是fork.source和exec. 1. fork 即通过sh 脚本名进行执行脚本的方式.下面通过一个简单的例子来讲解下它的特性. 创建father.sh,内容如下: #!/bin/bash echo "父shell进程开始执行"…
一.背景 最近接到监控应用并通过邮件报警的任务,由于需求比较简单,故没有使用springboot那套,而是采用linux脚本的方式进行监控. 二.思路 通过linux自带的定时功能,定时执行一个linux脚本,通过脚本访问应用的接口,若接口不通,进行重试,达到一定重试次数则重启tomcat并发送告警邮件.若无法重启tomcat,则重试,达到一定次数停止重启并发送告警邮件. 三.安装sendmail并配置sendmail 在安装配置sendmail的时候遇到不少坑,在配置sendmail的时候,需…
Runtime.getRuntime.exec()执行linux脚本导致程序卡死问题问题: 在Java程序中,通过Runtime.getRuntime().exec()执行一个Linux脚本导致程序被挂住,而在终端上直接执行这个脚本则没有任何问题.原因: 先来看Java代码: public final static void process1(String[] cmdarray) {        Process p = null;        BufferedReader br = null…