Shell学习笔记选编.docx

  1. 1、本文档共27页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Shell学习笔记选编

好后悔在学校里,没有充分利用时间。一些基础知识、基础技能都没有涉及到。现在用到了,才感慨万千。希望从现在开始study,还来得及。好的,既然觉悟了,那就从Shell基础开始吧。 1、Shell简介 ①、Shell既是一种命令语言,又是一种程序设计语言。 作为命令语言,它交互式地解释和执行用户输入的命令; 作为程序设计语言,它定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和分支。 ②、Shell有两种执行命令的方式: 交互式(Interactive):解释执行用户的命令,用户输入一条命令,Shell就解释执行一条。 批处理(Batch):用户事先写一个Shell脚本(Script),其中有很多条命令,让Shell一次把这些命令执行完,而不必一条一条地敲命令。 2、Shell的种类 Shell脚本解释器有bash、sh、csh、ksh等。 bash是Linux标准默认的shell。bash由Brian Fox和Chet Ramey共同完成,是BourneAgain Shell的???写,内部命令一共有40个。 3、编译型语言和解释性语言 编译型语言:C、C++、java等。 预先将我们写好的源代码(source code)转换成目标代码(object code),这个过程被称作“编译”。 目标代码接近计算机底层,故执行效率高。 解释性语言:awk、Perl、Python、Ruby与Shell,也被称为脚本语言。 执行这类程序时,解释器(interpreter)需要读取我们编写的源代码(source code),并将其转换成目标代码(object code),再由计算机运行。因为每次执行程序都多了编译的过程,因此效率有所下降。 4、Shell的优点: 简单性:Shell是一个高级语言;通过它,你可以简洁地表达复杂的操作。 可移植性:使用POSIX所定义的功能,可以做到脚本无须修改就可在不同的系统上执行。 开发容易:可以在短时间内完成一个功能强大又妤用的脚本。 5、Shell注释 新建一个文件,扩展名为sh(sh代表shell),扩展名并不影响脚本执行,见名知意就好,如果你用php写shell 脚本,扩展名就用php。 Shell 注释: 以“#”开头的行就是注释,会被解释器忽略。 sh里没有多行注释,只能每一行加一个#号。 如果在开发过程中,遇到大段的代码需要临时注释起来,过一会儿又取消注释,怎么办呢?每一行加个#符号太费力了,可以把这一段要注释的代码用一对花括号括起来,定义成一个函数,没有地方调用这个函数,这块代码就不会执行,达到了和注释一样的效果。 6、Shell的运行方式 #!/bin/bash ---“#!” 是一个约定的标记,它告诉系统这个脚本需要什么解释器来执行,即使用哪一种Shell。 echo Hello World ! ---echo命令用于向窗口输出文本。 运行脚本有两种方式: 作为可执行程序: chmod +x ./test.sh #使脚本具有执行权限, “./”表示在当前目录找。 ./test.sh #执行脚本 注意,一定要写成./test.sh,而不是test.sh。运行其它二进制的程序也一样,直接写test.sh,linux系统会去PATH里寻找有没有叫test.sh的,而只有/bin, /sbin, /usr/bin,/usr/sbin等在PATH里,你的当前目录通常不在PATH里,所以写成test.sh是会找不到命令的,要用./test.sh告诉系统说,就在当前目录找。 作为解释器参数: 这种运行方式是,直接运行解释器,其参数就是shell脚本的文件名,如: /bin/sh test.sh 这种方式运行的脚本,不需要在第一行指定解释器信息,写了也与前面的没关系。 7、Shell 变量 自定义变量: 1、your_name=mozhiyan ---- 变量名和等号之间不能有空格 2、echo $your_name -----“$”表示使用变量 3、echo ${your_name} ---- 推荐使用 --2、3是一个意思。变量名外面的花括号是可选的,加不加都行,加花括号是为了帮助解释器识别变量的边界 只读变量:将变量定义为只读变量,只读变量的值不能被改变 readonly your_name 删除变量:删除的是变量的值。变量将没有任何输出。 unset variable_name 变量类型 运行shell时,会同时存在三种变量: 1) 局部变量:局部变量在脚本或命令中定义,仅在当前shell实例中有效,其他shell启动的程序不能访问局部变量。 2) 环境变量:所有的程序,包括shel

文档评论(0)

jiayou10 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档