shell脚本学习总结02--数组】的更多相关文章

字符串 字符串是shell编程中最常用最有用的数据类型(除了数字和字符串,也没啥其它类型好用了),字符串可以用单引号,也可以用双引号,也可以不用引号.单双引号的区别跟PHP类似: 单双引号的区别: 双引号里可以有变量,单引号则原样输出: 双引号里可以出现转义字符,单引号则原样输出: 单引号字串中不能出现单引号. 拼接字符串 #!/bin/bash str1='i' str2='love' str3='you' echo $str1 $str2 $str3 echo $str1$str2$str3…
bash同时支持普通数组个关联数组,普通数组只能使用整数作为数组的索引,关联数组可以使用字符串作为数组的索引. 数组的定义方法: 在单行中使用一列值定义一个数组 [root@new ~]# array1=( ) 使用索引-值定义 [root@new ~]# array2[]="test1" [root@new ~]# array2[]="test2" [root@new ~]# array2[]="test3" 使用key-value键值对 [r…
<shell脚本学习指南>机械工业出版 ISBN 987-7-111-25504-8 第2章 2.4 初级陷阱 1.当今的系统,对#!这一行的长度限制从63到1024个字符都有,尽量不要超过64个字符. 2.在某些系统上,命令行部分包含了命令的完整路径名称.不过有些系统却不是这样:命令行的部分会原封不动地传递给被引用的程序. 3.别在选项之后放置任何空白,因为空白也会跟着选项一起传递给被引用的程序. 4.你需要知道解释其的完整路径名称.这可以用来规避可移植问题,因为不同的厂商可能将同样的东西放…
前段时间和几位同事讨论过一个问题:Shell脚本里面怎样把一个数组传递到awk内部进行处理? 当时没有找到方法.前两天在QQ群里讨论awk的时候,无意间又聊起这个话题.机缘巧合之下找到一个思路,特此分享. 测试环境:  [root]# head -1 /etc/redhat-release Red Hat Enterprise Linux Server release 6.5 (Santiago) [root]# awk --version | head -1 GNU Awk 3.1.7 众所周…
Shell文档 ChinaUnix上大神“網中人”总结的Shell十三问,强烈推荐,这本书讲得比较精炼,而且都是一些Shell学习中容易把握不住的一些细节难点.每一问都写得非常精彩.ChinaUnix上,还有个wingger大神整理的Shell基础二十篇.这份文档涉及的内容比较多,我没记错的话应该有很多命令的用法,而且配备实际使用的例子,对初学者帮助甚大. <Shell脚本专家指南>(文中提到的书和资料下面都有下载的链接)也是一本不可多得的好书.书中都是作者实际工作中的经验总结,你可以从中学到…
正则表达式_百度百科 http://baike.baidu.com/link?url=ybgDrN2WQQKN64_gu-diCqdeDqL8LQ-jiQ-ftzzPaNUa9CmgBRDNnyx50vZlGSGNt0jYq7BN4mac4RrVC96KKq SED(Linux指令)_百度百科 http://baike.baidu.com/link?url=DQklcY8r4u33kGGfZt5Q-Mm6JHgKOGJQqQvpvfB3mYk5R_kiZ4X6jcdBs10ni1cZFm7-Oh…
shell脚本学习指南 以下八点不敢说就能成为你shell脚本学习指南de全部,至少可以让你编写出可靠的shell脚本. 1. 指定bashshell 脚本的第一行,#!之后应该是什么?如果拿这个问题去问别人,不同的人的回答可能各不相同.我见过/usr/bin/env bash,也见过/bin/bash,还有/usr/bin/bash,还有/bin/sh,还有/usr/bin/env sh.这算是编程界的“’茴’字四种写法”了.在多数情况下,以上五种写法都是等价的.但是,写过程序的人都知道:“少…
继续shell脚本学习.上一篇是基本数据类型和语法的总结,这一篇是运算相关的操作. 运算符 bash不支持简单的数学计算,需要依赖其他命令实现. expr可以代为实现. # 表达式一般这么写 ` + ` 注意点: 1. 引号不是普通单引号,是右斜的引号,在esc键下方.表达式用这种右斜的引号括起来,必须成对出现 2. 运算符两边要留空格.4+4不行,必须写成4 + 4 运算符不用多说,和其余编程语言类似.加减乘除取余:+-*/% 赋值用=,比较相等用==,比较不等用!= 特别注意的是*要在前面加…
Shell脚本学习指南 作者:Danbo 2015-8-3 脚本编程语言与编译型语言的差异 许多中型.大型的程序都是用编译型语言写的,例如:C.C+.Java等.这类程序只要从源代码(Source Code)转换成目标代码(object code),便能直接通过计算机来执行. 编译型语言的好处是高效,缺点是:他们多半运作于底层,所处理的是字节.整数.浮点数或是其他机器层级的对象.而脚本语言Shell通常是解析型(interpreted)的.这类程序的执行,是由解析器(interpreter)读入…
shell脚本学习之6小时搞定(1) 简介 Shell是一种脚本语言,那么,就必须有解释器来执行这些脚本. Unix/Linux上常见的Shell脚本解释器有bash.sh.csh.ksh等,习惯上把它们称作一种Shell.我们常说有多少种Shell,其实说的是Shell脚本解释器. Hello World 打开文本编辑器,新建一个文件test.sh,扩展名为.sh(sh代表shell). 输入一些代码: #!/bin/bash echo "Hello World !" 在命令行运行:…
为了捞取日志,自己用python写了一些东西,大致套路就是读取写入文件的操作,放到linux上跑.实际使用时发现要操作的文件有时比较大,直接打开文件找需要的东西可能会有一些效率问题.所以学习一下shell脚本,看一下能不能用这种方法来直接监听日志取到需要的东西.以下是自己学习时的一些笔记. Shell脚本的运行 shell脚本第一行一般都是如下内容.#!开头,告诉系统使用什么解释器(使用哪一种Shell) #!/bin/bash 如何运行: 两种方法. 作为可执行程序的话,cd到相应目录后,运行…
前言:自从大学毕业参加工作以来,接触的开发工作都是在服务端完成,于是接触了比较多的Linux当做开发机使用,或多或少有一些重复性的工作,于是开始琢磨学习一些shell脚本的知识,以便处理这些繁琐的事情. shell种类有很多bash.sh.csh.ksh等,不同的环境下使用的也不同,不过bash应该是使用最广泛了~也是Linux发行版默认的: 主要就是掌握常见的命令以及语法格式吧~然后就可以上手干活了: 命令如下: echo:输出命令到终端 -e:表示对转义字符进行替换 -E:禁止转义 read…
跟着RUNOOB网站的教程学习的笔记 shell变量 shell变量的命名 定义变量时,变量名不加美元符号($,PHP语言中需要),如: name="runoob" 注意,变量名与等号之间不能有空格,这可能和你熟悉的所有编程语言都不一样.同时,变量名的 命名须遵循如下规则: 命名只能使用英文字母,数字和下划线,首个字母不能以数字开头. 中间不能有空格,可以使用下划线代替你想要的空格(例如your_name). 不能加标点符号. 不能使用bash里的关键字(可用help命令查看保留关键字…
Shell简介 概述 Shell是一种具备特殊功能的程序,它提供了用户与内核进行交互操作的一种接口.它接收用户输入的命令,并把它送入内核去执行.内核是Linux系统的心脏,从开机自检就驻留在计算机的内存中,直到计算机关闭为止,而用户的应用程序存储在计算机的硬盘上,仅当需要时才被调入内存.Shell是一种应用程序,当用户登录Linux系统时,Shell就会被调入内存去执行.Shell独立于内核,它是连接内核和应用程序的桥梁,并由输入设备读取命令,再将其转为计算机可以理解的机械码,Linux内核才能…
 转载:http://blog.csdn.net/leexide/article/details/17485451 目录(?)[-] 一概述 二expect的安装 一Tcl 安装 二expect 安装 需Tcl的库 三Expect工作原理 实现功能 2实现自动执行 决定如何响应 使用超时 一个更复杂的例子 四使用expect脚本的小窍门 使用-c选项从命令行执行expect脚本 使用-i选项交互地执行expect脚本 当执行expect脚本的时候输出调试信息 使用-D选项启动expect调试器…
Shell学习笔记 简介: Shell 是一个用C语言编写的程序,它是用户使用Linux的桥梁.Shell既是一种命令语言,又是一种程序设计语言. Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务. Ken Thompson的sh是第一种Unix Shell,Windows Explorer是一个典型的图形界面Shell. Shell教程入门 1.shell脚本 shell脚本shell script,是一种为shell而编写的脚本程序.然而通常所…
shell是一种程序设计语言,是访问操作系统内核的服务. Linux的shell种类常见的有: Bourne Shell(/usr/bin/sh或/bin/sh) Bourne Again Shell(/bin/bash) C Shell(/usr/bin/csh) K Shell(/usr/bin/ksh) Shell for Root(/sbin/sh) Shell脚本执行的两种方法 ./shell.sh 根据shell脚本第一行指定的shell执行 /bin/sh test.sh 根据命令…
近来主要捣鼓ubuntu,大多数项目中都用到了sh脚本作为启动脚本等,以前只是大概明白如何使用,今天需要自己修改并运行脚本就碰到了很多问题,所以决定静下心来学习一下shell脚本,学习了几个小时,现将一些要点总结如下,以供以后翻看或者供入门人员参考. 第一行 这里指的是脚本第一行,一般脚本第一行都是 #!/usr/bin/env bash 这句话的意思是告诉操作系统用哪个命令来解析脚本,一般不用改变 脚本(函数)参数 运行xx.sh 1 2 3后$*为"1 2 3"(一起被引号包住)$…
Shell脚本最常用于系统管理工作,或者用于结合现有的程序以完成小型.特定的工作. Shell的特点有: 1. 简单性 2. 可移植性 3. 开发容易 [什么是shell] 简单点理解,就是系统跟计算机硬件交互时使用的中间介质,它只是系统的一个工具.实际上,在shell和计算机硬件之间还有一层东西那就是系统内核了.打个比方,如果把计算机硬件比作一个人的躯体,而系统内核则是人的大脑,至于shell,把它比作人的五官似乎更加贴切些.回到计算机上来,用户直接面对的不是计算机硬件而是shell,用户把指…
因为Shell似乎是各UNIX系统之间通用的功能,并且经过了POSIX的标准化.因此,Shell脚本只要“用心写”一次,即可应用到很多系统上.因此,之所以要使用Shell脚本是基于: 简单性:Shell是一个高级语言:通过它,你可以简洁地表达复杂的操作. 可移植性:使用POSIX所定义的功能,可以做到脚本无须修改就可在不同的系统上执行. 开发容易:可以在短时间内完成一个功能强大又妤用的脚本. 但是,考虑到Shell脚本的命令限制和效率问题,下列情况一般不使用Shell: 资源密集型的任务,尤其在…
Shell本身是一个用C语言编写的程序,它是用户使用Unix/Linux的桥梁,用户的大部分工作都是通过Shell完成的.Shell既是一种命令语言,又是一种程序设计语言.作为命令语言,它交互式地解释和执行用户输入的命令:作为程序设计语言,它定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和分支. 它虽然不是Unix/Linux系统内核的一部分,但它调用了系统核心的大部分功能来执行程序.建立文件并以并行的方式协调各个程序的运行.因此,对于用户来说,shell是最重要的实用…
1.脚本第一行指定脚本解释器 #!/bin/bash 或 #!/bin/sh 2.脚本开头增加作者.脚本作用描述等信息 1 #!/bin/bash 2 #Author: iskylite 3 #Blog: http://www.cnblogs.com/iskylite/ 4 #Time: 2017-10-30 19:11:02 5 #Name: fan.sh 6 #Description: This is a test shell script. 3.在脚本中尽量不使用中文(注释除外) 容易出现…
跟着RUNOOB网站的教程学习的笔记 和其他语言一样,shell也可以包含外部脚本.这样可以很方便的封装一些公用的代码作为一个独立的文件.shell文件包含的语法有两种形式 . filename  #也就是一个英文句号后面跟着想要包含的文件名,注意中间有一个空格分开 source filename 实验的时候遇到一个问题,第二种文件包含的形式在sh中不能用,而这两种文件包含形式在bash中是都可以使用的 实例 创建两个shell脚本文件 test1.sh代码如下: #!/bin/bash # a…
shell脚本的学习: 1.Shell的作用是解释运行用户的命令,用户输入一条命令,Shell就解释运行一条,这样的方式称为交互式(Interactive),Shell还有 一种运行命令的方式称为批处理(Batch),用户事先写一 个Shell脚本(Script),当中有非常多条命令,让Shell一次把这些命令运行完,而 不必一条一条地敲命令. 2.shell变量包含环境变量和本地变量,环境变量能够从父进程传给子进程,printenv可打印出来:本地变量仅仅存在于当前 Shell进程,用set命…
跟着RUNOOB网站的教程学习的笔记 我们可以在执行shell脚本时,向脚本传递参数,脚本内获取参数的格式为:$n.n代表一个数字,1为执行脚本的第一参数,2为执行脚本的第二个参数,以此类推... 实例: 以下实例我们向脚本传递三个参数,并分别输出,其中$0为执行文件名: #!/bin/bash # author:菜鸟教程 # url:www.runoob.com echo "Shell传递参数实例!"; echo "执行文件名: $0"; echo "第…
跟着RUNOOB网站的教程学习的笔记 Shell与Shell脚本 Shell是用户与Linux系统的桥梁.它既是一种命令语言,也是一种程序设计语言. Shell脚本是一种Shell编写的脚本程序,其实就是一个包含Shell代码的文本文件,运行时,会一行一行的运行给文本文件中的命令. Shell脚本的运行 随便打开一个文本编辑器(例如Windows自带的记事本,推荐安装Notepad++),新建一个文件,拓展名为.sh.其实拓展名并不影响脚本执行,为的是方便使用者判断该脚本大概是什么文件. #!/…
概念 真正能够控制计算机硬件(CPU.内存.显示器等)的只有操作系统内核(Kernel),图形界面和命令行只是架设在用户和内核之间的一座桥梁. 由于安全.复杂.繁琐等原因,用户不能直接接触内核(也没有必要),需要另外再开发一个程序,让用户直接使用这个程序:该程序的作用就是接收用户的操作(点击图标.输入命令),并进行简单的处理,然后再传递给内核.如此一来,用户和内核之间就多了一层“代理”,这层“代理”既简化了用户的操作,也保护了内核. 用户界面和命令行就是这个另外开发的程序,就是这层“代理”.在L…
文本处理 #!/bin/bash#----------文本处理---------- #---------------echo----------------- # "-n":处理光标在末尾echo -n "Please Input Your Name"read Nameecho -n "Please Input Your Sex"read Sex # "-e:转义"echo -e "Name \t Sex \t&qu…
part-1 #!/bin/bash:<<FTP#test [ 1 -eq 2] #条件测试x="abc" #不允许有空格y="abc" [ "$x" != "$y" ] #字符相等判断echo $? #test test "$x" ="$y" echo $? test -n $x #判断字符是为空echo $? x=1.5 #数字条件测试y=8 #数值判断符[ "…
脚本语言通常是解释型的,这类程序的运行.是由解释器读入程序代码,并将其转换成内部的形式, 再执行,解释器本身是一般的编译型程序. 第一行的开头处使用#!这两个字符,当内核扫描到改行的其余部分,看是否存在可以用来执行程序的 解释器的完整路径. Shell命令与参数 分号(;)可用来分隔同一行的多条命令,Shell会依次执行: 使用&,则表示Shell将在后台执行其前面的命令,Shell不用等到该命令执行完,就可以继续下一条命令的执行: Shell变量 1.名称开头是一个字母或下划线开头符号,后面可…