shell脚本编程学习笔记(一)】的更多相关文章

http://www.1987.name/141.html shell基础 终端打印.算术运算.经常使用变量 Linux下搜索指定文件夹下特定字符串并高亮显示匹配关键词 从键盘或文件里获取标准输入 [read命令] 文件的描写叙述符和重定向 数组.关联数组和别名使用 函数的定义.运行.传參和递归函数 条件測试操作与流程控制语句 获取时间日期格式和延时 [date.sleep命令] 内部字段分隔符IFS和脚本的调试DEBUG 显示.读取或拼接文件内容 [cat命令] 文件查找与打印文件列表 [fi…
一.脚本格式 vim shell.sh #!/bin/bash //声明脚本解释器,这个‘#’号不是注释,其余是注释 #Program: //程序内容说明 #History: //时间和作者 二.shell变量的种类 用户自定义变量:由用户自己定义.修改和使用 与定义变量:Bash与定义的特殊变量,不能直接修改 位置变量:通过命令行给程序传递执行的参数 1.定义变量: 变量名要以英文字母或下划线开头,区分大小写. 格式:变量名=值 输出变量:echo $变量名 2.键盘输入为变量内容: 格式:r…
一.shell编写邮件报警脚本 1.POSTFIX邮件服务器准备 a.首先卸载服务器上自带的sendmail rpm -qa sendmail* //查看安装的sendmail rpm -e sendmail-8.***** //卸载 b.安装postfix(发邮件用的,25号端口)和dovecot(收邮件用的,110号端口) yum install postfix* dovecot* -y rpm -qa | grep postfix* rpm -qa | grep devecot* c.配置…
一.数据库基本操作 1)登录mysql服务器:mysql -u root -p 密码 2)查看数据库:show databases 3)查看表:show tales from db; 4)查看表结构:desc table; 5)创建表:create table table(); 6)查看表数据:select * from table; 7)插入数据:insert into table(f1,f2) values('v1','v2'); 8)删除数据:delete from table where…
一.linux服务器启动流程 1.bios找到磁盘上的mbr主引导扇区 2.进入grub洁面选择相应的启动内核 3.读取kernel内核文件-/boot/vmlinuz-* 4.读取init的镜像文件-/boot/initrd-* 5.init去读取/etc/inittab 6.读取启动级别(id:3:initdefault) 7.读取/etc/rc.d/rc.sysinit,完成时钟设置,主机名的这只,分区表的挂载(/etc/fstab) 8.读取/etc/rc.d/rc脚本,通过该脚本吸收3…
官方资料:Shell Functions (Bash Reference Manual) 简介 正如我们在<Bash脚本编程学习笔记06:条件结构体>中最后所说的,我们应该把一些可能反复执行的代码块整合起来,避免反复编写使得代码过于臃肿. 函数正是为了解决这个问题而存在的.函数在定义时,可以将常用的代码整合为一个整体,当我们需要执行的时候,只需要调用这个函数即可. Bash是过程式编程语言,从上至下顺序执行代码,因此函数定义必须在函数调用之前完成. 函数属于shell的基础特性,即不仅仅是针对…
本篇中涉及到算术运算,使用了$[]这种我未在官方手册中见到的用法,但是确实可用的,在此前的博文<Bash脚本编程学习笔记03:算术运算>中我有说明不要使用,不过自己忘记了.大家还是尽量使用其他的方法进行算术运算. 简介 Bash具有三种循环结构: for循环. while循环. untile循环. 在使用循环结构体的时候,需要注意循环的进入条件和结束条件,避免出现死循环的情况. for循环 for循环又分为两种格式:遍历列表和控制变量. 遍历列表 for VAR in LIST; do BOD…
Shell脚本编程学习入门是本文要介绍的内容,我们可以使用任意一种文字编辑器,比如gedit.kedit.emacs.vi等来编写shell脚本,它必须以如下行开始(必须放在文件的第一行):   #!/bin/sh ... 注意:最好使用"!/bin/bash"而不是"!/bin/sh",如果使用tc shell改为tcsh,其他类似. 符号#!用来告诉系统执行该sell脚本的程序,本例使用/bin/sh.编辑结束并保存后,如果要执行该shell脚本,必须先使其可执…
简介 在bash脚本编程中,条件结构体使用if语句和case语句两种句式. if语句 单分支if语句 if TEST; then CMD fi TEST:条件判断,多数情况下可使用test命令来实现,返回值为0的话则执行CMD,否则就离开该条件结构体,脚本继续往下执行. [root@c7-server ~]# cat test.sh #!/bin/bash if id zwl &> /dev/null; then echo "User zwl exists." fi [r…
从程序员的角度来看, Shell本身是一种用C语言编写的程序,从用户的角度来看,Shell是用户与Linux操作系统沟通的桥梁.用户既可以输入命令执行,又可以利用 Shell脚本编程,完成更加复杂的操作.在Linux GUI日益完善的今天,在系统管理等领域,Shell编程仍然起着不可忽视的作用.深入地了解和熟练地掌握Shell编程,是每一个Linux用户的必修功课之一. Linux的Shell种类众多,常见的有:Bourne Shell(/usr/bin/sh或/bin/sh).Bourne A…
我自己接触Linux主要是大学学习的Turbolinux --> 根据<鸟哥的Linux私房菜:基础篇>(第三版) --> 马哥的就业班课程.给我的感觉是这些课程对于bash的讲解,理论上是不够的,但是限于时间.篇幅和精力,确实无法讲解的足够深入.在接触了骏马金龙的博客以及bash官方站点后,就会理解骏马兄说的“平常我们学的只是bash的形,而不是bash的神”.最近在写这个系列的学习笔记,经常查阅bash官方手册,真的是有种醍醐灌顶的感觉,但是限于能力和进度问题,有些问题暂且无法…
目录 1.shell脚本的执行方法  2.shell的变量类型  3.shell特殊变量 4.变量子串的常用操作  5.批量修改文件名实践   6.变量替换 7.在shell中计算字符串长度的方法   8.变量的数值计算:(()) 的用法 9. 变量的数值计算:let的用法  10.变量的数值计算:expr的用法 11.变量的数值计算:bc的用法    12.条件测试的多种方法 13.字符串测试操作符  14.整数二元比较操作符 15.逻辑操作符  16.利用shell知识制作单级及多级菜单 1…
转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/8176137.html 一:脚本文件的创建.格式.运行 1:创建shell脚本 首先,要创建一个文件 touch 文件名 然后,编辑该文件,将命令输入其中. 脚本文件第一行,需要指明使用的shell种类: #! shell的路径 比如: #!/bin/bash 脚本的注释符号是井号 #. #注释 一般脚本格式为: #!/bin/bash #脚本注释:介绍脚本的用途 命令行.代码 2:改变文件权限 默认创建的文…
1.脚本编程之函数 函数是实现结构化编程重要的思想,主要目的是实现代码重用 定义一个函数: function FUNCNAME { command //函数体 }   FUNCNAME(){ //函数名紧跟小括号不能加空格 command }   调用只需要使用函数名即可 bash -x 脚本名 查看脚本执行的过程 注意:函数的执行结果和函数的执行状态结果是不同的 引用函数的执行结果:变量=`函数名` 引用函数的状态结果:函数调用之后 echo $? 脚本的执行状态结果取决于执行的最后一个命令…
用户交互 在<学习笔记04>中我们有提到位置参数,位置参数是用来向脚本传递参数的一种方式.还有一种方式,是read命令. [root@c7-server ~]# read name alongdidi [root@c7-server ~]# echo $name alongdidi read命令可以实现从STDIN中读取数据存入用户指定的变量中. 可以多变量赋值. [root@c7-server ~]# read a b tom jerry [root@c7-server ~]# echo $…
前置知识:awk 参考学习博客:https://www.cnblogs.com/bugingcode/p/8287914.html awk 'BEGIN{ commands } pattern{ commands } END{ commands }' 第一步:运行BEGIN{ commands }语句块中的语句. 第二步:从文件或标准输入(stdin)读取一行.然后运行pattern{ commands }语句块,它逐行扫描文件,从第一行到最后一行反复这个过程.直到文件所有被读取完成. 第三步:…
参考文献 Shell 教程 MAC常用终端命令行 Mac下Shell脚本使用 1.使用终端创建test.sh: (1)进入指定文件夹路径(命令示例:cd Desktop/面向对象程序设计): (2)创建test.sh文件(命令示例:touch test.sh): (3)创建第一个Shell脚本: #!/bin/bash echo "Hello World!" 注:#! 是一个约定的标记,它告诉系统这个脚本需要什么解释器来执行,即使用哪一种 Shell. echo 命令用于向窗口输出文本…
三种变量: 局部变量:局部变量在脚本或命令中定义,仅在当前shell实例中有效,其他shell启动的程序不能访问局部变量. 环境变量:所有的程序,包括shell启动的程序,都能访问环境变量,有些程序需要环境变量来保证其正常运行.必要的时候shell脚本也可以定义环境变量. shell变量:shell变量是由shell程序设置的特殊变量.shell变量中有一部分是环境变量,有一部分是局部变量,这些变量保证了shell的正常运行 #!/bin/bash # 第一个脚本测试 echo "第一个脚本测试…
条件表达式返回的结果都为布尔型 真为1,假为0 条件测试的表达式 [expression] 比较符 整数比较 -eq:比较两个整数是否相等,$A -eq $B -ne:测试两个整数是否不等,不等则为真,等则为假 -gt:大于为真,小于为假 -lt:小于为真,大于为假 -ge:大于或者等于 -le:小于或者等于 -e  File  测试文件是否存在 -f  File  测试文件是否是普通文件 -d  File 测试指定路径是否是目录 -r  File 测试文件是否有写的权限 -w  File 测试…
参考文献 Shell 教程 MAC常用终端命令行 Mac下Shell脚本使用 (7)Shell echo命令: 命令格式:echo string ①显示普通字符串:echo "It is a test"(这里的双引号完全可以省略) ②显示转义字符: #!/bin/sh echo "\"It is a test\"" #同样,双引号也可以省略 结果为:"It is a test" ③显示变量(read命令从标准输入中读取一行,并…
1.bc 命令的用法(可以整数也可以小数): bc是 UNIX下的计算器,它也可以用在命令行下面: 例: 给自变量 i 加 1 [root@docker Demo_test]# i= [root@docker Demo_test]# i=`|bc` [root@docker Demo_test]# echo $i 写脚本和命令行的区别,就是用反引号括起来 对小数进行运算,因为bc支持科学计算,所以功能非常强大 [root@docker Demo_test]# |bc 8.5 [root@dock…
脚本使用说明: 首先在脚本的同级目录下有个 jdk的安装包 脚本和安装包必须在同级目录下才能够安装(脚本没有优化,还可以使用  wget  从网上下载指定版本的  jdk 安装包) #!/bin/sh ############################################## # # 安装Oracle jdk # Author:左岩 # Date: -- # ############################################## # 卸载系统原带的Open…
bash脚本语言,不同于C/C++是一种解释性语言.即在执行前不需要事先转变为可执行的二进制代码,而是每次执行时经解释器解释后执行.bash脚本语言是命令的堆砌,即按照实际需要,结合命令流程机制实现的源程序,因此他学习起来要比C/C++简单的多. 1.bash中的变量 bash中的变量分为本地变量,局部变量和环境变量等 本地变量:使用格式为varname=值,本地变量的声明周期为整个脚本进程 局部变量:使用格式为local varname=值,局部变量的声明周期为整个脚本进程 环境变量:使用格式…
转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/8177697.html 一:输入 1:运行时参数 可以在启动脚本时,在其后输入参数. ./脚本 参数1 参数2... bash中使用位置参数来接收启动时输入的参数: $:程序名(脚本名) $:第1个参数 $:第2个参数 $:第3个参数 $:第4个参数 $:第5个参数 $:第6个参数 $:第7个参数 $:第8个参数 $:第9个参数超过9个的,要加花括号来读取:${10}:第10个参数 ...... 获取脚本名:…
综合实例: 打印选择菜单,一键安装Web服务 [root@zuoyan   script]# sh menu.sh 1.[install  lamp] 2. [install lnmp] 3. [exit] 要求: 1.当用户输入1时,输出 “start installing lamp.” 然后执行 /server/script/lamp.sh, 脚本内容输出  " lamp is install " 后退出脚本 2.当用户输入2时,输出 "start installing…
菜鸟教程提供的Shell在线编辑器 Shell 字符串 项目 功能 单引号 原样输出,变量无效.但可用成对单引号嵌套成对单引号输出变量 双引号 定义字符串中附带有变量的命令并且想将其解析后再输出的变量. 1. 单引号 #!/bin/bash test='Try to do it.' echo 'I say ${test}' #**[代码1]** #echo ' \' ' #使用转义字符会报错,**[代码2]** echo 'I say '${test}'' #**[代码3]** 单引号字符串的限…
1.shell操作系统和用户之间.负责解释命令行 2./etc/shells 记录登录系统有效支持shell 3./etc/passwd 最后,有人谁可以看到用户的默认shell 4.直接输入shell的名称 能够切换shell 5.shell命令的记录能够用history查看 history -c 清除 历史命令存放在.bash_history文件里 6.shell的指令能够用 alias 别名 = 实际名 来替换 取消则用 unalias 别名 7.shell变量 <1>定义变量 变量名=…
if 语句是实际生产工作中最重要且最常用的语句,所以,必须掌握牢固 if 条件语法 1. 单分支机构 if  [ 条件 ] then 指令 fi 或 if  [  条件 ]; then 指令 fi                 和之前学习过的表达式可以互相进行转换 双分支结构 语法: if   [ 条件 ] then     指令集 1 else 指令集2               fi 提示: 前文的文件条件表达式 [ -f "$file1" ] && echo…
第二十七章:shell脚本编程进阶 监测系统统计数据 系统快照报告 1.运行时间 uptime命令会提供以下基本信息: 当前时间 系统运行的天数,小时数,分钟数 当前登录到系统的用户数 1分钟,5分钟,15分钟的平均负载 $ uptime 16:20:51 up 2 days, 3:11, 9 users, load average: 0.01, 0.02, 0.05 2.磁盘使用情况 $ df -h Filesystem Size Used Avail Use% Mounted on /dev…
之前看的各种面试,貌似都有shell脚本编程,没了解之前感觉很复杂,现在了解了些,没想象中那么难. 逻辑主要是这样的 编写.sh的脚本文件,文件里面的代码,就是在命令行输入的可执行命令的加强版,所谓加强版就是有些支持参数或者变量. 比如1.sh 想实现安装httpd 最简洁的代码可以是 SOFT="$1" yum install SOFT -Y 在命令行中输入 1.sh httpd 即可自动安装httpd 今天是个入门,继续学习shell的各种环境变量 shell,其实linux下的命…