- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Shell十三问——ChinaUnix论坛精华整理【荐】.doc
Shell十三问——ChinaUnix论坛精华整理
目 录
1 为何叫做 shell ? 1
2 shell prompt(PS1) 与 Carriage Return(CR) 的关系? 1
3 别人 echo、你也 echo ,是问 echo 知多少? 2
4 (双引号) 与 (单引号)差在哪? 4
5 var=value?export 前后差在哪? 7
6 exec 跟 source 差在哪? 11
7 ( ) 与 { } 差在哪? 13
8 $(( )) 与 $( ) 还有${ } 差在哪? 14
9 $@ 与 $* 差在哪? 17
10 与 || 差在哪? 19
11 与 差在哪? 22
11.1 22
11.2 22
11.3 23
11.4 24
12 你要 if 还是 case 呢? 26
13 for what???while 与 until 差在哪? 28
14 [^ ] 跟 [! ] 差在哪? 31
为何叫做 shell ?
在介绍 shell 是什么东西之前,不妨让我们重新检视使用者与计算机的关系:我们知道计算机的运作不能离开硬件,但使用者却无法直接对硬件作驱动,硬件的驱动只能透过“操作系统(Operating System)”的软件来控管,事实上,我们每天所谈的 Linux ,严格来说只是一个操作系统,我们称之为“内核(kernel)”。然而,从使用者的角度来说,使用者也没办法直接操作 kernel ,而是透过 kernel 的“外壳”程序,也就是所谓的 shell ,来与 kernel 沟通。这也正是 kernel 跟 shell 的形象命名关系。
从技术角度来说,shell 是一个使用者与系统的互动界面(interface),主要是让使用者透过命令行(command line)来使用系统以完成工作。
因此,shell 的最简单的定义就是命令解译器(Command Interpreter):
* 将使用者的命令翻译给核心处理
* 同时,将核心处理结果翻译给使用者。
每次当我们完成系统登入(log in),我们就取得一个互动模式的 shell ,也称为 login shell 或 primary shell。若从进程(process)角度来说,我们在 shell 所下达的命令,均是 shell 所产生的子进程。这现像,我们暂可称之为 fork 。如果是执行脚本(shell script)的话,脚本中的命令则是由另外一个非互动模式的子 shell (sub shell)来执行的。也就是 primary shell 产生 sub shell 的进程,sub shell 再产生 script 中所有命令的进程。
这里,我们必须知道:kernel 与 shell 是不同的两套软件,而且都是可以被替换的:
* 不同的操作系统使用不同的 kernel ,
* 而在同一个 kernel 之上,也可使用不同的 shell 。
在 Linux 的预设系统中,通常都可以找到好几种不同的 shell ,且通常会被列于如下档案里:/etc/shells不同的 shell 有着不同的功能,且也彼此各异,或说“大同小异”。
[*]常见的 shell 主要分为两大主流:
? ? ? ? sh:
? ? ? ? ? ? ? ? burne shell (sh)
? ? ? ? ? ? ? ? burne again shell (bash)
? ? ? ? csh:
? ? ? ? ? ? ? ? c shell (csh)
? ? ? ? ? ? ? ? tc shell (tcsh)
? ? ? ? ? ? ? ? korn shell (ksh)
[*]大部份的 Linux 系统的预设 shell 都是 bash ,其原因大致如下两点:
* 自由软件
* 功能强大
bash 是 gnu project 最成功的产品之一,自推出以来深受广大 Unix 用户喜爱,且也逐渐成为不少组织的系统标准。
shell prompt(PS1) 与 Carriage Return(CR) 的关系?
当你成功登录进一个文字界面之后,大部份情形下,你会在屏幕上看到一个不断闪烁的方块或底线(视不同版本而别),我们称之为*光标*(cursor)。光标的作用就是告诉你接下来你从键盘输入的按键所插入的位置,且每输如一键光标便向右边移动一格,若连续输入太多的话,则自动接在下一行输入。
假如你刚完成登录还没输入任何按键之前,你所看到的光标所在位置的同一行的左边部份,我们称之为*提示符*(prompt)。提示符号的格式因不同系统版本而各有不同,在 Linux 上,只需留意最接近光标的一个可见的提示符号,通常是如下两者之一:
$:给一般使用者
您可能关注的文档
最近下载
- 北师大版(2024)一年级上册数学全册教案(含教学计划).docx
- 第四章疼痛的药物治疗【85页】.pptx
- 直销新人的十二个误区.ppt VIP
- 《民航求职面试技巧》教案 第10课 民航中文面试技巧(二).docx VIP
- 钢筋加工棚设计计算书.docx VIP
- 2025年绵阳市商业银行校园招聘笔试模拟试题及答案解析.docx VIP
- CQI-8分层过程审核_1.pptx
- 2025四川绵阳市公共交通集团有限责任公司招聘运营管理专员等岗位3人笔试模拟试题及答案解析.docx VIP
- 2015春讲课用PPT:《矛盾论》、《实践论》导读课件.ppt VIP
- 《民航求职面试技巧》教案 第9课 民航中文面试技巧(一).docx VIP
文档评论(0)