- 1、本文档共65页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Ch04_Linux的shell课件
第4章 Linux的shell 主要内容 4.1 命令行结构 4.2 变量 4.3 引用 4.4 别名 4.5 创建新命令 4.6 命令参数 4.7 命令替换 4.8 shell与变量 4.9 深入I/O重定向 4.10 循环简介 4.11 实例:bundle 4.1 命令行结构 最简单的命令通常是一个可执行的文件名:$ who 一条命令通常以换行结束,但分号;也可用作命令结束符:$ date; 尽管分号可用作命令结束符,但通常只有按回车键后才开始执行:$ date; who 4.1 命令行结构 将date; who的输出送到一个管道:$ date; who | wc 通过管道将who和wc连成了一条命令,称为管道线命令,它在date之后运行。Shell在分析命令行时,认为|的优先级高于;。 括号可以用来组合命令:$ (date; who)$ (date; who) | wc 4.1 命令行结构 tee tee命令可以将通过管道的数据流截获并放进某个文件,它常用于就是将中间结果保存到一个文件中:$ (date; who) | tee save | wc$ cat save$ wc save$ tee将其输入复制到一个文件,同时把输入复制到输出,因此wc可以接收到同样的数据,就好像tee在管道线中并不存在一样。 4.1 命令行结构 sleep sleep命令用来等待一段时间,然后退出:$ sleep 5$$ (sleep 5; date) date 这样可以很容易写一个在将来运行的命令:$ (sleep 300; echo Tea is ready) 由于的优先级高于;,所以必须加括号。 4.2 变量 shell变量名以字母或下划线字符开始,后面跟0或若干个字母、数字或下划线。 $ count=1$ my_bin=/home/mike/bin 注意: 1. 等号的任何一边不能加空格。 2. shell没有任何数据类型的概念。当向shell变量赋值时,不管值是什么,shell都简单地将它理解为字符串。 3. 变量在使用之前不需要声明。 4.2 变量 显示变量的值 $ echo $count1$ echo $my_bin/home/bob/bin$ echo $my_bin $count/home/bob/bin 1$ mkdir $my_bin 变量值可以用于命令行的任何地方$ touch $my_bin/empty$ ls $my_binempty$ pwd/home/bob$ cd $my_bin$ pwd/home/bob/bin 4.2 变量 显示变量的值 $ number=5$ echo There are $number books on the deskThere are 99 books on the desk$ command=sort$ $commandMaryTony Lucy Charlie WilliamFred^d 4.2 变量 显示变量的值 $ command=wc$ option=-l$ file=poem$ $command $option $file 8 poem$ value1=10$ value2=value1$ echo $value2value1 !?$ value2=$value1$ echo $value210 ok!$ 4.2 变量 空值 如果一个变量没有值,我们就说它含有空值,这是变量还没有赋值时的默认状态。$ echo $nosuch 从来没有赋过值$ $ echo :$nosuch: 用冒号把它的值括起来::$ 当shell进行变量替换时,任何空值都被完全从命令行中清除掉,不留一点痕迹。$ wc $nosuch -l $nosuch $nosuch poem8 poem 给变量赋空值:$ emptyvalue=$ emptyvalue=““$ emptyvalue=’’ 4.2 变量 文件名替换和变量 $ ls$ x=*$ echo $x 结果与ls差不多$ 说明:shell在给变量赋值时不进行文件名替换,而是在执行echo命令时由shell替换了文件名。即:shell先做变量替换,然后做文件名替换,最后把这行处理成参数。 4.2 变量 ${variable}结构 假定把一个文件名存放在变量filename中,如果想将该文件重命名,新文件名就是在原文件名后加一个X,首先可能是想键入:mv $fil
文档评论(0)