脚本使用说明: 首先在脚本的同级目录下有个 jdk的安装包 脚本和安装包必须在同级目录下才能够安装(脚本没有优化,还可以使用  wget  从网上下载指定版本的  jdk 安装包) #!/bin/sh ############################################## # # 安装Oracle jdk # Author:左岩 # Date: -- # ############################################## # 卸载系统原带的Open…
一.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.配置…
官方资料:Shell Functions (Bash Reference Manual) 简介 正如我们在<Bash脚本编程学习笔记06:条件结构体>中最后所说的,我们应该把一些可能反复执行的代码块整合起来,避免反复编写使得代码过于臃肿. 函数正是为了解决这个问题而存在的.函数在定义时,可以将常用的代码整合为一个整体,当我们需要执行的时候,只需要调用这个函数即可. Bash是过程式编程语言,从上至下顺序执行代码,因此函数定义必须在函数调用之前完成. 函数属于shell的基础特性,即不仅仅是针对…
本篇中涉及到算术运算,使用了$[]这种我未在官方手册中见到的用法,但是确实可用的,在此前的博文<Bash脚本编程学习笔记03:算术运算>中我有说明不要使用,不过自己忘记了.大家还是尽量使用其他的方法进行算术运算. 简介 Bash具有三种循环结构: for循环. while循环. untile循环. 在使用循环结构体的时候,需要注意循环的进入条件和结束条件,避免出现死循环的情况. for循环 for循环又分为两种格式:遍历列表和控制变量. 遍历列表 for VAR in LIST; do BOD…
简介 在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…
http://www.1987.name/141.html shell基础 终端打印.算术运算.经常使用变量 Linux下搜索指定文件夹下特定字符串并高亮显示匹配关键词 从键盘或文件里获取标准输入 [read命令] 文件的描写叙述符和重定向 数组.关联数组和别名使用 函数的定义.运行.传參和递归函数 条件測试操作与流程控制语句 获取时间日期格式和延时 [date.sleep命令] 内部字段分隔符IFS和脚本的调试DEBUG 显示.读取或拼接文件内容 [cat命令] 文件查找与打印文件列表 [fi…
前置知识:awk 参考学习博客:https://www.cnblogs.com/bugingcode/p/8287914.html awk 'BEGIN{ commands } pattern{ commands } END{ commands }' 第一步:运行BEGIN{ commands }语句块中的语句. 第二步:从文件或标准输入(stdin)读取一行.然后运行pattern{ commands }语句块,它逐行扫描文件,从第一行到最后一行反复这个过程.直到文件所有被读取完成. 第三步:…
综合实例: 打印选择菜单,一键安装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…
条件表达式返回的结果都为布尔型 真为1,假为0 条件测试的表达式 [expression] 比较符 整数比较 -eq:比较两个整数是否相等,$A -eq $B -ne:测试两个整数是否不等,不等则为真,等则为假 -gt:大于为真,小于为假 -lt:小于为真,大于为假 -ge:大于或者等于 -le:小于或者等于 -e  File  测试文件是否存在 -f  File  测试文件是否是普通文件 -d  File 测试指定路径是否是目录 -r  File 测试文件是否有写的权限 -w  File 测试…
我自己接触Linux主要是大学学习的Turbolinux --> 根据<鸟哥的Linux私房菜:基础篇>(第三版) --> 马哥的就业班课程.给我的感觉是这些课程对于bash的讲解,理论上是不够的,但是限于时间.篇幅和精力,确实无法讲解的足够深入.在接触了骏马金龙的博客以及bash官方站点后,就会理解骏马兄说的“平常我们学的只是bash的形,而不是bash的神”.最近在写这个系列的学习笔记,经常查阅bash官方手册,真的是有种醍醐灌顶的感觉,但是限于能力和进度问题,有些问题暂且无法…
之前看的各种面试,貌似都有shell脚本编程,没了解之前感觉很复杂,现在了解了些,没想象中那么难. 逻辑主要是这样的 编写.sh的脚本文件,文件里面的代码,就是在命令行输入的可执行命令的加强版,所谓加强版就是有些支持参数或者变量. 比如1.sh 想实现安装httpd 最简洁的代码可以是 SOFT="$1" yum install SOFT -Y 在命令行中输入 1.sh httpd 即可自动安装httpd 今天是个入门,继续学习shell的各种环境变量 shell,其实linux下的命…
用户交互 在<学习笔记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 $…
1.脚本编程之函数 函数是实现结构化编程重要的思想,主要目的是实现代码重用 定义一个函数: function FUNCNAME { command //函数体 }   FUNCNAME(){ //函数名紧跟小括号不能加空格 command }   调用只需要使用函数名即可 bash -x 脚本名 查看脚本执行的过程 注意:函数的执行结果和函数的执行状态结果是不同的 引用函数的执行结果:变量=`函数名` 引用函数的状态结果:函数调用之后 echo $? 脚本的执行状态结果取决于执行的最后一个命令…
1.win10下安装oracle11g 1.1 工具原料 oracle11g安装包(64位) 1.2 步骤方法 1.在Oracle官网下载安装包,下载后,得到的文件如图所示: 2.将两个文件进行解压缩,得到目录如图所示: 3.双击setup.exe,系统将会进行自检,若提示[INS-13001]环境不满足最低要求,如图所示: 4.点击"否"终止安装,然后打开解压缩目录中\stage\cvu\cvu_prereq.xml,把下列文字添加到图片位置(详见常见错误): <OPERATI…
#!/bin/bash #auto make install httpd #by authors baker95935 #httpd define path variable H_FILES=httpd-.tar.bz2 H_FILES_DIR=httpd- H_URL=http://mirrors.shuosc.org/apache/httpd/ H_PREFIX=/usr/local/apache2/ if [ -Z "$1" ];then echo -e "\033[3…
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…
if 语句是实际生产工作中最重要且最常用的语句,所以,必须掌握牢固 if 条件语法 1. 单分支机构 if  [ 条件 ] then 指令 fi 或 if  [  条件 ]; then 指令 fi                 和之前学习过的表达式可以互相进行转换 双分支结构 语法: if   [ 条件 ] then     指令集 1 else 指令集2               fi 提示: 前文的文件条件表达式 [ -f "$file1" ] && echo…
bash脚本语言,不同于C/C++是一种解释性语言.即在执行前不需要事先转变为可执行的二进制代码,而是每次执行时经解释器解释后执行.bash脚本语言是命令的堆砌,即按照实际需要,结合命令流程机制实现的源程序,因此他学习起来要比C/C++简单的多. 1.bash中的变量 bash中的变量分为本地变量,局部变量和环境变量等 本地变量:使用格式为varname=值,本地变量的声明周期为整个脚本进程 局部变量:使用格式为local varname=值,局部变量的声明周期为整个脚本进程 环境变量:使用格式…
一.脚本格式 vim shell.sh #!/bin/bash //声明脚本解释器,这个‘#’号不是注释,其余是注释 #Program: //程序内容说明 #History: //时间和作者 二.shell变量的种类 用户自定义变量:由用户自己定义.修改和使用 与定义变量:Bash与定义的特殊变量,不能直接修改 位置变量:通过命令行给程序传递执行的参数 1.定义变量: 变量名要以英文字母或下划线开头,区分大小写. 格式:变量名=值 输出变量:echo $变量名 2.键盘输入为变量内容: 格式:r…
一.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…
一.数据库基本操作 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…
在循环遍历中,可以添加对应判断条件跳出循环,跳出循环可以使用break/continue,这个跟java语言是一样的,break是指跳出整个循环,continue是指跳出当前循环体,继续下一项循环. 下面是break的示例: #! /bin/sh for i in {1..10} do if [ $i -eq 5 ] then break fi echo $i done 执行该代码,会依次输出1到4,后面的循环就不再执行了 把上面的代码稍微改一下,使用continue: #! /bin/sh f…
LinuxShell编程学习笔记目录附笔记资源下载 目录(?)[-] 写在前面 第一部分 Shell基础编程 第二部分 Linux Shell高级编程技巧 资源下载 写在前面 最近花了些时间学习Shell,视频学习过程中做了笔记,留给大家参考. 第一部分 Shell基础编程 第一部分 Shell基础编程——第一章 Shell简介 http://blog.csdn.net/wentasy/article/details/8702846 第一部分 Shell基础编程——第二章变量和运算符 http:…
python3.4学习笔记(五) IDLE显示行号问题,插件安装和其他开发工具介绍 IDLE默认不能显示行号,使用ALT+G 跳到对应行号,在右下角有显示光标所在行.列.pycharm免费社区版.Sublime Text.pyscripter.eclipse+pydev 可以显示行数. 安装插件可以让IDLE显示行号:1.先下载LineNumbers.py文件:http://ftp.heanet.ie/disk1/disk1/disk1/sourceforge/s/so/sourcetrac/t…
Qt Model/View 学习笔记 (五) View 类 概念 在model/view架构中,view从model中获得数据项然后显示给用户.数据显示的方式不必与model提供的表示方式相同,可以与底层存储数据项的数据结构完全不同. 内容与显式的分离是通过由QAbstractItemModel提供的标准模型接口,由QAsbstractItemview提供的标准视图接口共同实现的.普遍使用model index来表示数据项.view负责管理从model中读取的数据的外观布局. 它们自己可以去渲染…
        本文由哈利_蜘蛛侠原创,转载请注明出处.有问题欢迎联系2024958085@qq.com         注:我给的电子版是700多页,而实体书是800多页,所以我在提到相关概念的时候,会使用章节号而非页码.相同的情况适合于"龙书"第二版. 上一期的地址: DX 11游戏编程学习笔记之7  这一期我们专门来研究第6章的习题. 尽管数目比較多,可是大部分还是非常easy的.注意我说的是"大部分"! 习题解答: =====================…
接上文 多线程编程学习笔记——async和await(一) 接上文 多线程编程学习笔记——async和await(二) 五.   处理异步操作中的异常 本示例学习如何在异步函数中处理异常,学习如何对多个并行的异步操作使用await时聚合异常. 1.程序示例代码如下. using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;…
接上文 多线程编程学习笔记——使用异步IO 接上文 多线程编程学习笔记——编写一个异步的HTTP服务器和客户端 接上文 多线程编程学习笔记——异步操作数据库 本示例描述了如何创建一个WCF服务,并宿主在命令行应用程序中,客户端可以访问服务元数据,并以异步的方式消费它. 首先,我们创建了一个WCF服务.关于如何创建WCF服务,可以参考我之前的文章(WCF学习之旅—第三个示例之一(二十七)至WCF学习之旅—第三个示例之五(三十一)) 然后,我们为了调用了上面示例中已经存在的异步调用方式,在之前客户端…
 本系列文章由@二货梦想家张程 所写,转载请注明出处. 作者:ZeeCoder  微博链接:http://weibo.com/zc463717263 我的邮箱:michealfloyd@126.com   欢迎大家发邮件来和我交流编程心得 you are what you read!与大家共勉! -------------------------------------------------分割线:ZeeCoder--------------------------------------…
 本系列文章由@二货梦想家张程 所写,转载请注明出处. 作者:ZeeCoder  微博链接:http://weibo.com/zc463717263 我的邮箱:michealfloyd@126.com   欢迎大家发邮件来和我交流编程心得 you are what you read!与大家共勉! -------------------------------------------------分割线:ZeeCoder--------------------------------------…