这个是从dyl的脚本那里偷过来的哈哈--(其实我现在还不是很懂shell [ -d .vim ] && mv -v .vim .vim.$(stat -c%Y .vim) [ -f .vimrc ] && mv -v .vimrc .vimrc.$(stat -c%Y .vimrc)…
什么是 Shell 脚本? 一个 shell 脚本就是一个包含一系列命令的文件.shell 读取这个文件,然后执行 文件中的所有命令,就好像这些命令已经直接被输入到了命令行中一样. 怎样编写一个 Shell 脚本 为了成功地创建和运行一个 shell 脚本,我们需要做三件事情: 编写一个脚本. Shell 脚本就是普通的文本文件.所以我们需要一个文本编辑器来书写它们.最好的文本 编辑器都会支持语法高亮,这样我们就能够看到一个脚本关键字的彩色编码视图.语法高亮会帮助我们查看某种常见 错误.为了编写…
1.第一个shell脚本 打开文本编辑器(可以使用 vi/vim 命令来创建文件),新建一个文件 test.sh,扩展名为 sh(sh代表shell),扩展名并不影响脚本执行 输入一些代码 #!/bin/bash echo 'Hello World!' #! 是一个约定的标记,它告诉系统这个脚本需要什么解释器来执行,即使用哪一种 Shell. echo 命令用于向窗口输出文本. 2.运行 Shell 脚本有两种方法 2.1 作为可执行程序 chmod +x ./test.sh #使脚本具有执行权…
分类: 可以在一个shell脚本中执行另一个shell脚本(或非可执行文件,主要用于取得一些变量的值),方法是: . 文件名(包括路径) 或 变量=文件名(包括路径) . $变量   注意,圆点后面有个空格. 这样,在本shell脚本的后面部分就可以引用其他文件中声明的一些变量.   当再用这些变量去执行第3个脚本时,我不知是怎么回事,总是有些莫名其妙的错误,发现只有这个文件中不存在空行才行,哪怕只有一个注释符,都不会出错,就是不能有空行.   其实我想应该也不是这个问题,而是windows和l…
打算在跳板机上写一个shell脚本,批量检查远程服务器上的main进程是否在健康运行中. 先找出其中一台远程机器,查看main进程运行情况 [root@two002 tmp]# ps -ef|grep main root 23448 23422 0 11:40 pts/0 00:00:00 grep --color=auto main [root@two002 tmp]# ps -ef|grep main|grep -v grep|wc -l 0 shell检查脚本如下 [root@two002…
怎样编写一个 Shell 脚本 编写一个脚本 使脚本文件可执行 把脚本放到Shell能够找到的地方 脚本文件格式 #!/bin/bash # This is our first script. echo 'Hello World!' #!字符序列是一种特殊的结构叫做 shebang. 这个 shebang 被用来告诉操作系统将执行此脚本所用的解释器的名字. 每个 shell 脚本都应该把这一文本行 作为它的第一行. 可执行权限 chmod +x helloworld 修改PATH export…
本文是Linux Shell系列教程的第(二)篇,更多shell教程请看:Linux Shell系列教程 通过上一篇教程的学习,相信大家已经能够对shell建立起一个大体的印象了,接下来,我们通过一个最简单的脚本来继续深入对shell的学习. 新建shell脚本 新建一个文件,扩展名为sh(sh代表shell),或者其他任意名字,其实扩展名并不影响脚本执行,见名知意就好,这里用sh是为了便于分辨.在你新建的文件中输入以下内容: #!/bin/bash echo "Hello World !&qu…
发布:thatboy   来源:脚本学堂     [大 中 小] 分享一例shell脚本,可以实现mysql数据库的自动安装,脚本写的不错,无论是用来学习,还是生产环境中应用,都是不错的,有需要的朋友参考下.本文转自:http://www.jbxue.com/article/13875.html 本节内容: 一个可以自动安装mysql的shell脚本. 本文分享一例在linux操作系统中,自动安装mysql数据库的shell脚本代码. 有点小缺点,如下:还没写完,是写给集群安装的,配置也没有完成…
主要以下有几种方式: Command Explanation fork 新开一个子 Shell 执行,子 Shell 可以从父 Shell 继承环境变量,但是子 Shell 中的环境变量不会带回给父 Shell. exec 在同一个 Shell 内执行,但是父脚本中 exec 行之后的内容就不会再执行了 source 在同一个 Shell 中执行,在被调用的脚本中声明的变量和环境变量, 都可以在主脚本中进行获取和使用,相当于合并两个脚本在执行.   第一种:fork 特点:会生成子PID而且可重…
前提: 现在做的一个业务系统,用了redis做缓存. 系统做了缓存,通常在系统正常使用的过程中,可以节省很多系统资源,特别是数据库资源. 但是,在开发.测试或者系统遇到问题的时候,也有很麻烦的事情. 通常的表现是,明明数据已经改了,在plsql develop 里面是正常的,为什么系统里面是没变化,接口也没有变. 然后,顺着线路找去,在日志里面看到,原来是走了缓存,数据没有更新. 或者是,重跑数据的时候,怎么系统里面都没有值,找了一圈,发现走了缓存. 还有个终极的BUG,在客户现象,因为要共有一…
打算在跳板机上写一个shell脚本,批量检查远程服务器上的main进程是否在健康运行中. 先找出其中一台远程机器,查看main进程运行情况 [root@two002 tmp]# ps -ef|grep main root 23448 23422 0 11:40 pts/0 00:00:00 grep --color=auto main [root@two002 tmp]# ps -ef|grep main|grep -v grep|wc -l 0 shell检查脚本如下 [root@two002…
打开文本编辑器,新建一个文件,扩展名为sh(sh代表shell),扩展名并不影响脚本执行,见名知意就好. #!/bin/bash echo "Hello World !" "#!" 是一个约定的标记,它告诉系统这个脚本需要什么解释器来执行,即使用哪一种Shell. 作为可执行程序 将上面的代码保存为test.sh,并cd 到相应目录: chmod +x ./test.sh #使脚本具有执行权限 ./test.sh #执行脚本 注意,一定要写成./test.sh,而不…
  上周迁移了一台服务器,发现其中一个项目的数据没有更新,查询原服务器的数据,数据有更新,并找到了rsync服务,从其他服务器传输数据,那么如何找到这台服务器?因为是从远程传输到本地,而且不是很频繁,手动查找通信记录,没有结果.写了一个脚本进行跟踪下,考虑到通信时间短的问题. 需要每秒执行一次命令,通过linux自带的cron却不能实现,新版的cron据说可以精确到秒. 1.编写shell脚本: #!/bin/bash while [ true ]; do /bin/ netstat -n |…
打开文本编辑器,新建一个文件,扩展名为sh(sh代表shell),扩展名并不影响脚本执行,见名知意就好,如果你用php写shell 脚本,扩展名就用php好了.输入一些代码: #!/bin/bash echo "Hello World !" “#!” 是一个约定的标记,它告诉系统这个脚本需要什么解释器来执行,即使用哪一种Shell.echo命令用于向窗口输出文本.运行Shell脚本有两种方法. 作为可执行程序 将上面的代码保存为test.sh,并 cd 到相应目录: 将上面的代码保存为…
打开文本编辑器,新建一个文件,扩展名为sh(sh代表shell),扩展名并不影响脚本执行,见名知意就好,如果你用php写shell 脚本,扩展名就用php好了. 输入一些代码: #!/bin/bash echo "Hello World !" “#!” 是一个约定的标记,它告诉系统这个脚本需要什么解释器来执行,即使用哪一种Shell.echo命令用于向窗口输出文本. 运行Shell脚本有两种方法. 作为可执行程序 将上面的代码保存为test.sh,并 cd 到相应目录: chmod +…
打开文本编辑器,新建一个文件,扩展名为sh(sh代表shell),扩展名并不影响脚本执行,见名知意就好,如果你用php写shell 脚本,扩展名就用php好了. 输入一些代码: #!/bin/bash echo "Hello World !" “#!” 是一个约定的标记,它告诉系统这个脚本需要什么解释器来执行,即使用哪一种Shell.echo命令用于向窗口输出文本. 运行Shell脚本有两种方法. 作为可执行程序 将上面的代码保存为test.sh,并 cd 到相应目录: chmod +…
一.shell和shell脚本 在linux系统下,以 #/bin/bash开头的文本会被shell解释器进行解释.   shell是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务. shell脚本(shell script),是一种为shell编写的脚本程序.业界所说的shell通常都是指shell脚本,shell和shell script是两个不同的概念. sh.bash等脚本解释器是不同的版本,一路发展. 二.shell的基本功能 1.缩进  shell…
今天,大数据部老大交给我一项任务——抓取股票历史数据.于是乎,我自行在网上找了一下,发现wget真真是一个非常强大的linux下载工具.我已经被深深震撼到了.下面叙述今天的一些过程,还是比较坎坷的. 首先,我利用公司现在存在的股票数据,使用hive查询所有的股票代码并导入本地: hive -e "use stock;select distinct secucode from t_stock_tick_shsz where type='sz';" >> sz_secucode…
http://blog.csdn.net/xiaominghimi/article/details/7603000 本站文章均为李华明Himi原创,转载务必在明显处注明:转载自[黑米GameDev街区] 原文链接: http://www.himigame.com/shell/759.html ☞ 点击订阅 ☜ 本博客最新动态!及时将最新博文通知您! 本章节分享Shell 学习篇,那么对于Shell 简单介绍下,对于Shell来说,大家可以理解Shell 是一个命令解释器,类似于DOS下的comm…
如下: fork: 如果脚本有执行权限的话,path/to/foo.sh.如果没有,sh path/to/foo.sh. exec: exec path/to/foo.sh source: source path/to/foo.sh 1.fork fork 是最普通的, 就是直接在脚本里面用 path/to/foo.sh 来调用foo.sh 这个脚本,比如如果是 foo.sh 在当前目录下,就是 ./foo.sh.运行的时候 terminal 会新开一个子 Shell 执行脚本 foo.sh,子…
IDC小菜鸟一枚,非科班出身.常常有客户的centos服务器需要分配15个IP甚至30个IP.每次需要手动分配十分麻烦,于是花了一天时间学了shell脚本,写了这个脚本. #!/bin/bash read -p "The IP numbers: " num while [[ $num -gt 0 ]] do read -p "Please enter IP Address :" ipaddr touch /etc/sysconfig/network-scripts/…
Linux中有好多中不同的shell,bash是linux默认的shell,免费且容易使用. su切换为root权限 1.创建shell脚本 touch hello.sh 2.编辑: vi hello.sh 内容 #! /bin/bash#the first program echo "hello world" 3.保存并退出 按Esc取消插入,输入:wq保存 ================== 可以使用bash运行hello.sh 或 ================== 4.赋予…
第一个脚本 [root@ipha-dev71- exercise_shell]# ll total -rw-r--r-- root root Aug : test.sh [root@ipha-dev71- exercise_shell]# cat test.sh #!/bin/bash # 指定解释器信息, #!/bin/sh 也可以 echo "hello world!" [root@ipha-dev71- exercise_shell]# test.sh # 修改文件权限,使其具有…
服务器上必须安装了git maven jdk 并且配置好环境变量 实际服务器中可能运行着多个Java进程,所以重新部署的时候需要先停止原来的java进程,写一个按照名称杀死进程的脚本 kill.sh #!/bin/sh function PidFind()   {   PIDCOUNT=`ps -ef | grep $1 | grep -v "grep" | grep -v $0 | awk '{print $2}' | wc -l`;   if [ ${PIDCOUNT} -gt 1…
思路: 进入/usr/local/apache2/htdocs/ipa/  循环读取 /root/shell/wget/down.txt  每次一行,每一行直接就是一条命令,直接 $line 就可以执行,如果执行成功把脚本按日期保存下来,错误也保存到错误日志中按日期,都执行完成后,把当前时间插入到txt中,既可以查看程序执行完成的时间,又可以避免重复执行,最后把执行成功的行数追加到 日志文件中. 脚本如下 #!/bin/sh #wget from pp download pp.ipa DATE=…
概述 编译和运行java分别要用到javac命令和java命令,虽然可以使用IDE(比如eclipse,InteliJ,NetBean...),按一下快捷键就可以实现编译并运行,但是,在之前还要配置一下,对于初学Java的同学来说,如果开始就用IDE,可能对于配置有点懵,还不如简简单单的写两条命令呢. 为什么不直接使用javac file.java && java file这一条命令了?因为如果是切换文件,就不是特别方便了,还要修改一下命令.可以考虑写shell脚本,将文件名传入即可,只需…
#!/bin/bash #Date:2018-01-08 #Author:xxxxxx #Function:xxxxxx #Change:2018-01-17 # #设置忽略CTRL+C信号 trap 'my_exit;exit' SIGINT SIGTERM SIGQUIT #开启DEBUG模式 #set -x #如果有命令执行返回值为非0,那么脚本将结束,不再继续执行 # set -e #导入rsync使用的密码 export RSYNC_PASSWORD='xxxxxx' #设置脚本涉及的…
#!/bin/bash #FileName:select_into_bak.sh #Desc:Use select into outfile to backup db or tables #Created By:fedoracle #Date:// DB=mysql USER=test PASSWD=test HOST=192.168.164.129 BAK_DIR=/data/mysql/backup/$DB DATE=`date "+%Y-%m-%d %H-%M-%S"` [ -d…
##############################Deploy nfs######################## echo "start deploy nfs-server" cat $basepath/package/exports > /etc/exports systemctl restart rpcbind systemctl enable rpcbind systemctl restart nfs systemctl enable nfs rm -rf…
#!/bin/bash interface=`ls /sys/class/net|grep en|awk 'NR==1{print}'` if [ ! -e /etc/adserver/.seq.info ];then #生成序列号 #时间 #d=`date +%Y%m%d` mkdir /etc/adserver/ d=`dmidecode -t |grep -oP '(?<=Release Date: ).*' |awk -F ':' 'NR==1'|awk -F'/' '{print $3…