shell进阶】的更多相关文章

Shell进阶 当把在Windows中写好的脚本传到linux中使用时,在Windows下每一行结尾是\n\r,而Linux下则是\n,所以会多出来\r,在linux中运行脚本时,需执行: sed -i 's/\r$//' test10.sh(将\r替换成空白) 1.变量 (1)变量的含义 数据可以发生改变就是变量,在一个脚本周期(当前的shell文件)内,其值可以发生改变的量就是变量 (2)变量的定义与使用 定义:变量是由  变量名=变量值  组成(a="linux") 使用:用变量…
背景:就自己常用的shell脚本写作风格,总结了一些知识点.也是作为交接工作的一部分文档.部分内容单独写 #!/bin/sh # shell脚本进阶教程 # 1.常用知识点:变量设置/日期设置/格式化输出/定义函数/函数传参/脚步传参/变量的嵌套和迭代 # 2.常用环境:/数据库监控/本地日志监控/批量处理/定期获取表数据/备份 # 3.常用循环:for/while # 4.常用命令:sed/cut/awk/ # 5.crontab 计划任务 # 第一部分:常用知识点 # 1.[变量设置及变量替…
课程链接 Shell精品进阶教程:理解Shell的方方面面 课程目标 系统性的掌握shell相关知识,进阶shell脚本能力,对shell各方面了然于心 适用人群 具备shell基础但想深入.系统性掌握shell的同学,shell脚本和命令行调试能力欠佳的同学 课程简介 本套课程是借助bash来对shell解释器方方面面的深入探索,循序渐进分析shell各方面的特性,从而从根上系统并深入地掌握shell相关的知识,对其特性.用法.工作机制等各方面知根知底,对了解操作系统.进阶shell脚本能力.…
1.查看ASCII码表 man 7 ascii  很多人初学编程都会接触到ascii码的概念,有时候为了查某个符号的ascii值,可能还得翻箱倒柜找出当年的课本?Linux Manpage里面其实包含了很多类似的实用资料,上述命令就能很详细的方式解释ascii编码,当然这里还有在线版. man命令的第二个参数是区域码,用来区分索引词的范围,比如printf,在C标准库里面的printf跟bash当中的printf是不同的,前者的查询是man 3 printf,后者是man 1 printf.如果…
1. 更友好的显示当前挂载的文件系统 mount | column -t 这条命令适用于任何文件系统,column 用于把输出结果进行列表格式化操作,这里最主要的目的是让大家熟悉一下 columnt 的用法. 下面是单单使用 mount 命令的结果: $ mount /dev/root on / type ext3 (rw) /proc on /proc type proc (rw) /dev/mapper/lvmraid-home on /home type ext3 (rw,noatime)…
1.用你最喜欢的编辑器来敲命令 command <CTRL-x CTRL-e> 在已经敲完的命令后按 <CTRL-x CTRL-e> ,会打开一个你指定的编辑器(比如vim,通过环境变量$EDITOR指定),里面就是你刚输入的命令,然后爱怎么编辑就怎么编辑吧,特别是那些参数异常复杂的程序,比如mencoder/ffmpeg,一个命令动辄3.4行的,要修改其中的参数,这个方法最合适不过了,保存退出后自动执行这个程序. 实际上这是readline库的功能,在默认情况下,bash使用的是…
使用函数 #!/bin/bash # testing the script function myfun { echo "This is an example of a function" } count=1 while [ $count -le 5 ] do myfun count=$[ $count +1 ] done echo "This is the end of the loop" myfun echo "Now this is the end…
函数的定义和用途 函数function是由若干条shell命令组成的语句块,实现shell代码的重用和模块化编程. 函数和shell程序的异同点 它与shell程序形式上是相似的,不同的是它不是一个单独的进程,不能独立运行,而是shell程序的一部分 区别: 1.shell程序会启动一个子shell来执行 2.函数会在当前shell中运行,因此在当前shell中,函数可以对shell中的变量进行修改 (  函数的有效范围是在当前shell   ) 函数的优先级高于内部命令,外部命令,别名. 函数…
关于shell的多线程 1. 多线程并发执行任务,而不用一台台的串行执行,能更快更高效 2. Shell并没有多线程的概念,所以: * 一般使用wait.read等命令技巧性地模拟多线程实 * 使用命名管道(fifo)来实现多线程的控制 3. 用途:需要对多主机批量执行检查或操作时(例如ssh.ping等操作) 分段解析一个例子来理解一个多线程脚本的书写 1. 新建fifo类型文件 tmp_fifofile="/tmp/$$.fifo" mkfifo $tmp_fifofile #新建…
  一,操作字符串 1,字符串长度 expr 命令取字符串函数 自带shell函数读取 2,匹配字符串开头字串的长度   !!!!!!!!!!!!$substring是正则表达式.!!!!!!!!! expr 格式 expr match "$string" '$substring' expr "$string" : '$substring' 3,索引 格式 expr index $string $substring 求出第一次出现的位置 4,提取子串 1)格式:${…