字符串截取: 假设变量为var=http://www.hao.com/123.htm1. # 号截取,删除左边字符,保留右边字符.echo ${var#*//}其中 var 是变量名,# 号是运算符,*// 表示从左边开始删除第一个 // 号及左边的所有字符即删除 http://结果是 :www.hao.com/123.htm2. ## 号截取,删除左边字符,保留右边字符.echo ${var##*/}##*/ 表示从左边开始删除最后(最右边)一个 / 号及左边的所有字符即删除 http://w…
Shell 注释: 你可以把注释,在你的脚本如下: #!/bin/bash # Author : Zara Ali # Copyright (c) Tutorialsyiibai.com # Script follows here: pwd ls 现在保存上面的内容,使此脚本可执行如下: $chmod +x test.sh 现在,你的shell脚本,可随时执行如下: $./test.sh 变量是一个字符串,我们分配一个值.分配的值可以是一个数字,文本,文件名,设备,或任何其他类型的数据. 变量是…
最近的项目中,有一个编写linux shell脚本的任务.由于之前不是很熟悉,在这个过程中遇到了很多困难,查找了很多资料,也收获了很多.下面是linux shell脚本中常用的知识总结. 1基础语法 1.1变量 使用一个定义过的变量,只要在变量名前面加美元符号即可 your_name="qinjx" echo $your_name echo ${your_name} 1.2字符串 字符串可以用单引号,也可以用双引号,也可以不用引号. 单引号 单引号里的任何字符都会原样输出,单引号字符串…
第一种方式:hbase shell test.txt test.txt:list 第二种方式:<<EOF重定向输入 我们经常在shell脚本程序中用<<EOF重定向输入,将我们输入的命令字符串作为一个执行程序的输入,这样,我们就不需要在那个程序环境中手工输入命令,以便自动执行我们需要的功能.将hbase的命令嵌入到shell中,可以在shell中如下书写: -------------------------------------- hbase shell << EOF…
shell脚本编程基础 条件选择:if语句 选择执行: 注意:if语句可嵌套 单分支 if(开头)判断条件:then条件为真的分支代码 fi(结尾) 双分支 if(开头)判断条件:then条件为真的分支代码 else:其他条件为假的分支代码 fi(结尾) 多分支 输入年龄显示相对应设置的shell脚本: read -p "Please input yourage: " AGE if [[ ! $AGE =~ ^[0-9]+$ ]];then echo "$AGE is not…
watch是一个非常实用的命令,基本所有的Linux发行版都带有这个小工具,如同名字一样,watch可以帮你监测一个命令的运行结果,省得你一遍遍的手动运行. 1.命令格式 watch[参数][命令] 2.命令功能 可以将命令的输出结果输出到标准输出设备,多用于周期性执行命令/定时执行命令 3.命令参数 -n或--interval watch缺省每2秒运行一下程序,可以用-n或-interval来指定间隔的时间. -d或—differences 用-d或—differences 选项watch 会…
Linux中的ps命令是Process Status的缩写.ps命令用来列出系统中当前运行的那些进程.ps命令列出的是当前那些进程的快照,就是执行ps命令的那个时刻的那些进程,如果想要动态的显示进程信息,就可以使用top命令.要对进程进行监测和控制,首先必须要了解当前进程的情况,也就是需要查看当前进程,而 ps 命令就是最基本同时也是非常强大的进程查看命令.使用该命令可以确定有哪些进程正在运行和运行的状态.进程是否结束.进程有没有僵死.哪些进程占用了过多的资源等等.总之大部分信息都是可以通过执行…
while循环,使您能够重复执行一组命令,直到某些条件发生.它通常用于当你需要反复操纵的变量值. 语法 while command do Statement(s) to be executed if command is true done 这里Shell命令进行计算.如果结果值是 true,给定语句被执行.如果命令为 false,那么没有语句将不执行,程序将跳转到done语句后的下一行. 例子: 下面是一个简单的例子,使用while循环显示数字0到9: #!/bin/sh a=0 while…
背景 jenkins执行去执行shell命令,其中引用了一些jenkins的变量,如${WORKSPACE}这种,因为每次执行jenkins比较慢,于是想复制脚本出来想本地调试一下,直接复制了脚本过来执行,结果又这么一句 rm -rf ${WORKSPACE}/* 用root去执行,结果就崩盘了,发现删除了系统文件和目录,当终止的时候,已经来不及了 分析 由于${WORKSPACE}不存在,就是空了的,所以命令基本上就是rm -rf /* 然后就爆炸了,哎,只能找运维帮忙修复了的 后记 1. 权…
cat /proc/17616/cmdline 17616代表进程号 用这个可以完整打印出当前的进程的全名 当前shell的进程号.你可以使用ps -A 看你自己shell 的pid.是内置变量. $#传递到脚本的参数个数$*以一个单字符串显示所有向脚本传递的参数,与位置变量不同,此选项参数可超过9个$$脚本运行的当前进程ID号$!后台运行的最后一个进程的进程ID号$@与$#相同,但是使用时加引号,并在引号中返回每个参数$-显示shell使用的当前选项,与set命令功能相同$?显示最后命令的退出…
调试脚本 测试脚本语法:bash -n file.sh 查看脚本每一步执行情况:bash -x file.sh   位置变量:$1,$2,... 特殊变量:           %?:最后一个命令的执行状态           $#: 参数个数           $ shell中如何进行算术运算: A=3 B=6 1.let 算术运算表达式 let C=$A+$B 2.$[算术运算表达式] C=$[$A+$B] 3.$((算术运算表达式)) C=$(($A+$B)) 4.expr 算术运算表达…
if...fi 语句的基本控制语句,它允许Shell有条件作出决定并执行语句. 语法 if [ expression ] then Statement(s) to be executed if expression is true fi Shell expression求值.如果结果值是true,给定statement被执行.如果 expression 为false ,则没有语句将不会被执行.大部分的时候,会使用比较操作符决策. 关注对括号和表达之间的空间.这个空间是强制性的,否则语法错误. 如…
Shell 基本运算符 算术运算符: 运算符 描述 例子 + Addition - Adds values on either side of the operator `expr $a + $b` will give 30 - Subtraction - Subtracts right hand operand from left hand operand `expr $a - $b` will give -10 * Multiplication - Multiplies values on…
将一堆命令放在脚本里变成可执行脚本执行: 脚本编写,文件名为.sh,获取hostname的主机名 系统变量: Env:查看系统变量 Set :打印所有变量可以和grep和用 Export path:定义全局变量path 将内存中真实的使用量获取到: mem_used=`free | awk 'NR==3{print $3}'` Echo $mem_use Man test :查看关系运算符,test相当于[] 关系运算: 大于号(>)  -gt 小于-lt 大于等于-ge 小于等于-le 等于-…
系统备份: [root@localhost ~]# mkdir /abc [root@localhost ~]# mount /dev/sdb1 /abc [root@localhost ~]# dd if=/dev/sda of=/abc/sda-mbr-bak bs=512 count=1 记录了1+0 的读入 记录了1+0 的写出 512字节(512 B)已复制,0.000224936 秒,2.3 MB/秒 [root@localhost ~]#cp /boot/grub2/grub.cf…
1.判断变量 read -p "input a word :" word if [ ! -n "$word" ] ;then echo "you have not input a word!" else echo "the word you input is $word" fi 2.判断输入参数 #!/bin/bash if [ ! -n "$1" ] ;then echo "you have n…
程序的组成: 程序:算法+数据结构 数据:程序处理的目标 数据结构:相互之间存在一种或多种特定关系的数据元素的集合 算法:处理数据的方式 编程风格: 面向对象:把所有的操作都转化为对象的方式. 面向过程:步骤话解决问题 编程语言: 计算机:运行二进制指令 编程语言:人与计算机之间交互的语言 编程语言分类: 低级语言 机器语言:二进制0和1组成的序列,称为机器指令 汇编语言:用一些符号代替机器语言 高级语言 机器代码文件:0和1组合而成的二进制文件. 编译:编写的程序文件-->编译器(一个工具)-…
Java代码自动部署 [ ①Java代码自动部署-总结简介] 代码部署是每一个软件开发项目组都会有的一个流程,也是从开发环节到发布功能必不可少的环节.对于Java开发者来说,Java代码的发布部署也是经常需要做的一件事,特别是互联网公司.代码的发布上线关系到保证生产环境能够正常启动及功能是否能正常运行,所以代码部署在整个项目开发周期还是占据很重要的地位. 由于本人近期在学习Java代码自动发布相关的知识,此系列文章是对此次学习到的知识进行巩固和总结:同时,也希望能够帮助到和我一样对此方面知识感兴…
1. 前言 1.1 为什么学习shell编程 Shell脚本语言是实现Linux/UNIX系统管理及自动化运维所必备的重要工具,Linux/UNIX系统的底层及基础应用软件的核心大部分涉及Shell脚本的内容.每一个合格的Linux系统管理员或运维工程师,都需要熟练的编写Shell脚本语言,并能够阅读系统及各类软件附带的Shell脚本内容.只有这样才能提升运维人员的工作效率,适应日益复杂的工作环境,减少不必要的重复工作,从而为个人的职场发展奠定较好的基础. 1.2 学好Shell编程所需的基础知…
一.我们先看看编写的shell脚本的内容,该shell的作用主要是实现监控某个程序崩溃之后就自动重启该进程. while true do procnum=` ps -ef|grep "test"|grep -v grep|wc -l` if [ $procnum -eq 0 ]; then /home/test& fi sleep 30 done -eq意思是等于0,用于判断该test是否还在运行状态.监控/home/test这个程序是否运行. 二.由于该程序是window上的…
通过shell获取当前8位日期,并赋给变量,并且使用变量作为文件名,建立文件夹 代码如下: ls_date=`date +%Y%m%d` mkdir ${ls_date} 上面两句代码虽然简单 但是在应用中比较实用 获取日期注意事项:date +%Y%m%d 这个字符串是被英文状态下的ESC下面那个键 获取变量注意事项:必须有$与{变量名}组成…
今天来写一个使用shell脚本增量备份系统文件,顺便复习一下shell脚本相关的命令,这个脚本可以根据自己的需求来备份不同的文件或者文件夹,进行完整备份和增量备份.直接上脚本如下: #!/bin/sh #Automatic Backup Linux System Files #Author wugk 2013-11-22 #Define Variable SOURCE_DIR=( $* ) TARGET_DIR=/data/backup/ YEAR=`date +%Y` MONTH=`date…
   最近学习了shell脚本编程,感觉自己的脚本写的不太好,所以想把shell脚本相关的知识系统的整理一下,便于以后的学习和使用. 一.shell脚本基础    shell脚本是利用shell的功能所写的一个程序,这个程序是使用纯文本文件,将一些shell的语法与指令写在里面,然后用正则表达式,管道命令以及重定向向等功能,以达到我们所想要的处理目的.它的基本用途有: 1.自动化常用命令 2.执行系统管理和故障排除 3.创建简单的应用程序 4.处理文本或文件 ... 二.创建shell脚本 第一…
一.什么是Shell Shell 是一个用C语言编写的程序,它是用户使用Linux的桥梁.Shell既是一种命令语言,又是一种程序设计语言. Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务. Ken Thompson的sh是第一种Unix Shell,Windows Explorer是一个典型的图形界面Shell. 二.Shell 脚本 Shell 脚本(shell script),是一种为shell编写的脚本程序. 业界所说的shell通常都是…
                                                  linux—shell 脚本  精简基础                 2018/10/30 13:20:18 一.1 为什么学习shell编程 Shell脚本语言是实现Linux/UNIX系统管理及自动化运维所必备的重要工具,Linux/UNIX系统的底层及基础应用软件的核心大部分涉及Shell脚本的内容.每一个合格的Linux系统管理员或运维工程师,都需要熟练的编写Shell脚本语言,并能够…
前言 学习shell脚本编程需要的知识储备: vi/vim编辑器命令 vimrc设置要熟练 基础命令,100多个要熟练 基础和常用的网络服务命令要会:nfs . rsync. inotify . lanmp . sersync  .ssh  key 一.shell脚本概念及示例 1.什么是shell Shell是一个命令解释器,它在操作吸引的最外层,负责直接与用户对话,把用户的输入解释给操作系统,并处理各种各样的操作系统的输出结果,输出到屏幕返回给用户.这种对话方式可以是交互的方式(从键盘输入命…
现在springboot很流行,但是大家都知道springboot是以jar包的方式进行打包的,那样就少不了开启或关闭服务的操作了,但是命令方式未免过于繁琐. 下面记录shell脚本的方式启动或关闭服务的方式,一来记录,而来方便大家. 1.开启服务,start.sh #!/bin/sh nohup java -jar jar包全名 & # 注意:必须有&让其后台执行,否则没有pid生成 echo $! > tpid # 将jar包启动对应的pid写入文件中,为停止时提供pid ech…
此脚本在生产服务器上使用了一年多,本脚本崇尚简单唯美,只需要一个脚本就可以在任何一台有网络的服务器上自动配置LNMP.本脚本会在脚本执行目录下,建packages目录用于存放LNMP所需要的软件.大家安装完可以删除该目录. 使用方法:1.把shell脚本的内容保存为nginx_php2.root权限下运行:chmod u+x nginx_php; ./nginx_php init; ./nginx_php ins_mysql-server; ./nginx_php ins_mysql-clien…
jenkins需要安装AnsiColor插件在构建环境项选择“color ansi console output” 安装插件AnsiColor shell 脚本相关颜色设置 echo -e "\033[32m[ tomcat started success on $current_env ! ]\033[0m" 构建环境勾选插件 ansi color 构建后实际控制台输出效果:…
Linux系统——shell脚本编程基础介绍 1.什么是shell 它是一个命令解释器,在linux/unix操作系统的最外层,负责直接与用户对话,把用户的输入解释给操作系统,并处理各种操作输出的结果,输出到屏幕返回给用户,可以是交互式与非交互式的方式进行会话 [root@backup~]# head -1 /etc/passwd root:x:0:0:root:/root:/bin/bash shell脚本介绍: 当命令或语句不在命令行执行,而是通过一个程序文件执行时,这类文件就被称为shel…