1. read 从终端输入数据赋值给变量 read val 把读入的数据存放到val中 #!/bin/bash echo -n "please input two number :" read A B echo "\$A = $A \$B = $B" #-p 输出提示信息 read -p "please input two number : " A B #-t 在设定的时间范围内输入,如果时间到达还没输入,不给变量赋值直接结束 read -t 5…
1.for条件语句 先读取多个不同的变量值,然后逐一执行同一组命令. 从列表文件中读取主机地址,逐个测试是否在线. 从ipadds.txt中读取主机地址后赋值给HLIST变量后逐个ping列表中的主机IP地址,测试是否能够ping通: vim ipadds.txt 内容如下: 192.168.20.6 192.168.20.47 192.168.20.120 localhost 测试Shell脚本: #!/bin/bash HLIST=$(cat /home/ipadds.txt) for IP…
1.条件测试语句能够让Shell脚本根据实际工作灵活调整工作内容,例如判断系统的状态后执行指定的工作,或创建指定数量的用户,批量修改用户密码,这些都可以让Shell脚本通过条件测试语句完成. if条件语句 if条件语句分为单分支结构.双分支结构.多分支结构,复杂度逐级上升,但却可以让Shell脚本更加的灵活. 单分支结构: 由if.then.fi关键词组成,只在条件成立后执行. 单分支if语句:判断目录是否存在,若不存在则自动创建. 编写Shell脚本并写入下面的语句: #!/bin/bash…
case语句格式 case 变量 in PAT1) 执行语句 ;; PAT2) 执行语句 ;; *) 默认执行语句 ;; esac 使用示例: 编写一个shell脚本,通过提示用户输入信息,输出cpu,mem,disk的信息:#!/bin/bash #显示各种信息 #sky-whr cat << EOF 菜单 -------------------------- cpu)显示cpu信息 mem)显示内存信息 disk)显示硬盘信息 quit)退出 -----------------------…
四.shell 中的条件判断命令 test 和 [   test 命令可以处理 shell 脚本中的各类工作.它产生的不是一般的输出,而是可使用的退出状态.test 命令通过接受各种不同的参数,来控制要执行哪种测试.在许多系统上,test 命令与 [ 命令的作用其实是一样的,使用 [ 命令的时候,一般在结尾加上 ] 符号,使代码更具可读性.另外,需要注意一点的是,在使用 [ 命令时,[ 符号与被检查的语句之间应该留有空格.shell 中通常使用 test 命令来产生控制结构所需要的条件,根据 t…
if判断语句 exit跳出判读语句 不加exit的结果 read -n(不换行) 判断是否输入的是数字 read age[[ $age =~ ^[0-9]+$ ]]if [ $? -ne 0 ]; then echo "你输入的不是一个数字" exit 1fi case判断语句 #!/bin/bashcat <<EOF########################################### 欢迎学习shell编程 #######################…
过程式编程语言bash脚本编程面向过程的编程  顺序执行:默认法则,按照顺序一条一条语句执行  选择执行:分支,条件判断,符合条件的分支予以执行  循环执行:将同一段代码反复执行有限次,所以循环必须有退出条件,否则将陷入死循环 注意:  顺序执行不需要特定的控制,只需按照语句依次执行即可:选择执行,则需要特定的控制语句(如:if.case)来判断执行:循环执行则需要特定的循环控制控制(如:for.while等) bash脚本编程之用户交互  在bash脚本编程过程当中有时程序需要与用户之间进行交…
linux shell 指令 诸如-d, -f, -e之类的判断表达式: 文件比较运算符-e filename  如果 filename存在,则为真  [ -e /var/log/syslog ]-d filename  如果 filename为目录,则为真  [ -d /tmp/mydir ]-f filename  如果 filename为常规文件,则为真  [ -f /usr/bin/grep ]-L filename  如果 filename为符号链接,则为真  [ -L /usr/bi…
if语句有多种写法 [root@shell-yankerp sh]# [ -f file ] && echo "yes" || echo "no" yes修改如下: if [ -f file ] thenecho "yes"elseecho "no"fi 简写: [ -f file ] && echo "yes" 表示if条件成立时返回yes[ -f file ]  || e…
本篇主要写一些shell脚本循环语句的使用. for 循环 指定次数 #!/bin/bash for ((i=1;i<=10;i++)) do echo $i done [root@localhost ~]# vim num.sh [root@localhost ~]# chmod +x num.sh [root@localhost ~]# ./num.sh 1 2 3 4 5 6 7 8 9 10 九九乘法口诀表 #!/bin/bash result=0 for ((i=1;i<=9;i++…
本文转载自:https://www.ibm.com/developerworks/cn/linux/l-cn-shell-debug/ Shell脚本调试技术 本文全面系统地介绍了shell脚本调试技术,包括使用echo, tee, trap等命令输出关键信息,跟踪变量的值,在脚本中植入调试钩子,使用“-n”选项进行shell脚本的语法检查, 使用“-x”选项实现shell脚本逐条语句的跟踪,巧妙地利用shell的内置变量增强“-x”选项的输出信息等.   一. 前言 shell编程在unix/…
转自:http://itlab.idcquan.com/linux/SHELL/727128.html 参考:https://linux.cn/article-8045-1.html 本文全面系统地介绍了shell脚本调试技术,包括使用echo, tee, trap等命令输出关键信息,跟踪变量的值,在脚本中植入调试钩子,使用"-n"选项进行shell脚本的语法检查, 使用"-x"选项实现shell脚本逐条语句的跟踪,巧妙地利用shell的内置变量增强"-x…
1:创建shell脚本 touch sqoop_options.sh chmod 777 sqoop_options.sh 编辑文件  特地将执行map的个数设置为变量  测试 可以java代码传参数 同时也验证sqoop的 options 属性支持这种写法 #!/bin/bash /opt/cdh-5.3.6/sqoop-1.4.5-cdh5.3.6/bin/sqoop --options-file /opt/cdh-5.3.6/sqoop-1.4.5-cdh5.3.6/sqoop-impor…
本篇主要写一些shell脚本until语句的使用. 计算1-50的和 #!/bin/bash i=0 s=0 until [ $i -eq 51 ];do let s+=i;let i++ done echo $s [root@localhost ~]# vim sum.sh [root@localhost ~]# chmod +x sum.sh [root@localhost ~]# ./sum.sh 1275 为指定用户发送在线消息 #!/bin/bash username=$1 # 判断格…
本篇主要写一些shell脚本case语句的使用. 字符判断 #!/bin/bash read -p "请输入一个字符:" char case $char in [a-z]|[A-Z]) echo "输入的是字母" ;; [0-9]) echo "输入的是数字" ;; *) echo "输入的是特殊符号" esac [root@localhost ~]# vim char.sh [root@localhost ~]# chmod…
本篇主要写一些shell脚本条件语句的使用. 条件测试 test 条件表达式 [ 条件表达式 ] 文件测试 -d:测试是否为目录(Directory). -e:测试文件或目录是否存在(Exist). -f:测试是否为文件(File). -r:测试当前用户是否有权限读取(Read). -w:测试当前用户是否有权限写入(Write). -x:测试是否设置有可执行权限(Excute). -nt:判断文件A是否比文件B新. -ot:判断文件A是否比文件B旧. -ef:判断两个文件是否为同一个文件,用来判…
一.分支语句 1.条件测试:test [ 命令test或[可以测试一个条件是否成立,如果测试结果为真,则该命令的Exit Status为0,如果测试结果为假,则命令的Exit Status为1(注意与C语言的逻辑表示正好相反).例如测试两个数的大小关系: [root@VM_0_5_centos test]# var=4 [root@VM_0_5_centos test]# test $var [root@VM_0_5_centos test]# echo $? 0 [root@VM_0_5_ce…
1.for:读取不同的变量值,逐个执行同一组命令,直到取值完毕退出,变量值以空格分隔 语法: for  变量值  in  取值列表 do 命令序列 done 2.while:重复测试某个条件,成立则执行,进入下一个循环,直到条件不成立为止 语法: while [条件测试 ] do 命令 添加更改测试条件语句 done 例:批量添加用户(stu1~stu20) prefix=“stu” i=1 while [ $i  -le  20 ] do useradd  ${prefix}$i echo …
条件测试 1. 条件测试:test [ 命令test或[可以测试一个条件是否成立,如果测试结果为真,则该命令的Exit Status为0,如果测试结果为假, 则命令的Exit Status为1(注意与C语⾔言的逻辑表⽰示正好相反).例如测试两个数的大小关系: 虽然看起来很奇怪,但左方括号[确实是一个命令的名字,传给命令的各参数之间应该⽤空格隔开,比如,$VAR.-gt.3.]是[命令的四个参数,它们之间必须⽤空格隔开.命令test或[的参数形式是相同的,只不过test命令不需要]参数.以[命令为…
使用unix/linux的程序人员几乎都写过shell脚本,但这其中很多人都是为了完成功能而在网上找代码段,这样写出来的shell脚本在功能方面当然是没有什么问题,但是这样的方式不能写出优雅的shell脚本. 从今天开始,starfe就将自己平时在书写shell脚本过程中的经历做一总结,力图形成一个系列---"书写优雅的shell脚本". 在此,对"优雅"一词的定义有4点:(1)健壮:(2)结构清晰:(3)性能好:(4)力求简单. 好了,废话不多说,开始今天的主题:…
Linux Shell脚本编程while语句案例 1,每隔3秒,打印一次系统负载 #!/bin/bash while truedo    uptime    sleep 3done 2,把监控结果保存到文件,在后台执行,然后用tail -f监控文件变化ghostwu@dev:~/linux/shell/flow_control$ sh while.sh &[1] 12867 #!/bin/bash while truedo    uptime >> log.txt    sleep 3…
条件判断:if语句 语法格式: if [ expression ] then Statement(s) to be executed if expression is true fi 注意:expression 和方括号([ ])之间必须有空格,否则会有语法错误. if 语句通过关系运算符判断表达式的真假来决定执行哪个分支.Shell 有三种 if ... else 语句: if ... fi 语句 if ... else ... fi 语句 if ... elif ... else ... f…
使用 Linux 系统这么长时间,对 shell 脚本也算是比较熟悉.其实不管是搞开发,还是搞运维,shell 脚本都是必备的基本技能.这次抽时间好好总结一下 shell 方面的知识,综合的再学习一下,记录.这篇文章总结的是 shell 脚本的 if 语句的使用. 一.if 语句的基本语法 if [ 条件判断 ]; then ... ... elif [ 条件判断 ]; then ... ... else ... ... fi 二.文件/目录的判断 关于文件或目录的相关判断方法: [ -e fi…
对于自动化运维,诸如备份恢复之类的,DBA经常需要将SQL语句封装到shell脚本.本文描述了在Linux环境下mysql数据库中,shell脚本下调用sql语句的几种方法,供大家参考.对于脚本输出的结果美化,需要进一步完善和调整.以下为具体的示例及其方法. 1.将SQL语句直接嵌入到shell脚本文件中 复制代码 代码如下: --演示环境  [root@SZDB ~]# more /etc/issue  CentOS release 5.9 (Final)  Kernel \r on an \…
参考资料:Shell脚本中执行mysql语句 需求:数据库里有张数据表存储的是用户对电影的评价(user_id movie_id rating time),但是我现在要每部电影的总评分. 解决方法: 1).写个sql文件test.sql:use movie_recommendation;select distinct movie_id from T_user_movie_rating_map; 2).在终端输入mysql -uroot -p123456 -e < test.sql > movi…
介绍了shell脚本编程之for语句.if语句的使用方法. 上部: 面向过程: 顺序执行 选择执行: if, case 循环执行: for, while, until 一.for语句 格式:      for 变量 in 列表;do         语句1;         语句2;         ...      done     例1.写一个脚本,添加10个用户,并让每个用户的密码同用户名] 复制代码代码如下:        #!/bin/bash        for I in {1..…
   接着上篇博客,今天整理一下关于条件测试和条件语句方面的知识. shell脚本进阶之条件测试    在编写shell脚本时,经常需要对一些条件进行判断,可以使用测试命令test辅助完成测试过程.test命令测试特定的表达式是否成立,当条件成立时,命令执行后的返回值为0,否则为其他数值. 条件测试的基本格式有: 格式1 test EXPRESSION 格式2 [ EXPRESSION ] 注意:使用方括号时,条件两边必须加上空格. 常见的测试类型有 文件测试 数值测试 字符串测试 组合测试 文…
想必大家都知道 "如果......那么......" 这种语法的应用吧! 当然呢,linux下对于这种用法也是有所考虑的,很多时候我们都需要写一个shell脚本,难免会避免if语句. 例如:判断Apache是否运行(httpd已安装),否!则启动Apache: 思路: ------------------- 判断条件: | 是,退出shell | 否,启动Apach后退出shell | ------------------- shell脚本: $ vim httpd.sh 下面是一些扩…
常见的if语句shell脚本 author :headsen  chen  2017-10-17  15:00:07 1,cat if.sh 2, cat  if2.sh…
第四章shell语句 (据课本和虚拟机实验排版,借鉴请改动)               4.2:shell脚本   脚本包括:脚本声明,脚本注释,脚本内容和命令 例:#!/bin/bash             //脚本声明 #  for  example          //脚本注释 pwd                           //脚本命令 ls  -al                       //脚本命令 在脚本开头    #!/bin/bash     表使用b…