SHELL第05章 shell输入与输出_第1页
SHELL第05章 shell输入与输出_第2页
SHELL第05章 shell输入与输出_第3页
SHELL第05章 shell输入与输出_第4页
SHELL第05章 shell输入与输出_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、一.echo命令echo命令一般不需用引号来标记字符串。如果字符串中有空格,引号等特殊字符,可以用引号将其括起来。 否则输出结果会出问题。如下例:必须用引号前其引起。rootLinuxMciriitciir tEmp# echo Lets see if thisll work I LeTs see 辻thisll neL HYPERLINK mailto:rQotLinuxMon.it rQotLinuxMon.it or teirip# echo Let日 see if thisll work/x Let5 s see if this11 work-n不要在最后自动换行-e 解析输出内容中的

2、转义符。转义符常用的用a :发出警告声c :最后不加上换行符号t : tab 键f :换行r :回车如:n echo -e “What is your name:cn 行尾不换行Lrootrh4_2 J# echo -ehat is your name: VWhat is your name: rootrh4 2*1# echo -n what is your name:n 行尾不换行rootrh4_2 # echo -n Z/What ajs your nairie: 也h& is yQuiiaing; mot:rh4_2 、#echo e What is your name:c, &wad

3、 name /等待读入变量 nam亡的值。rootrh4_2echo -e 刃Wha/t is your nairiE:、c刃 & read nameWhat is your naine:|echo e What t what”rootrh4_2 J# echo 一已wharttwh what what使输出的内容变色:前景色就是指字符的颜色。1 前景色:数 字颜 色数 字颜 色30黑色34蓝色31红色35紫色32绿色36青色33黄(或棕)色37白(或灰)色2.背景色:数 字颜 色数 7颜 色40駅色44青色41红色45蓝色42绿色46青色43黄(或棕)色47白(或灰)色显示颜色的格式为:ec

4、ho -e 033背景色;前景色m要显示的文本”也就是说:“033”是颜色的定界符。如:echo -e cc03344;31mTest colo匸” 改成蓝色背景,红色文字。Lrootrh4_2 # echo 一已 x033L44;SlmTest color:更改后会发现,以后的工作坏境都变成了这种颜色。更改后能及时恢复成原来的黑底白字,町以在最后加 上 “0330m” 或加上 “03340;37”如:echo “03344;3 ImTest colo 匸 0330m”echo e “03 3 44; 3 ImTest color:03340;37n二、printf 命令按照格式显示参数内容。

5、使用格式:prmtf “格式” 要显示的内容/格式字符串和C语言的类似-v参数:不显示到标准输出,只将显示内容存入变量中。格式: prmtf -v 变量名“格式” 要显示的内容实例1.rootlocalhost J# printf -v varl %s abc abc abc .rootlocalhost 舟 echo Jvarlabc abc abcrootlocalhos t #说明:将字符串存入变量vail中。格式字符串常用的有以下几种:1、%s 字符串2、%c 单个字符3、d整数4、%1和1相同5、%f 浮点数6、%o显示八进制数7、%x显示无符号十六进制数,用a-f表示十六进制8、%

6、X显示无符号十六进制数,用A-F表示十六进制格式字符串的占位规定%5s 占5个字符,右对齐,不足部分补以空格。 %-5s 占5个字符,左对齐,不足部分补以空格。%5.1f 加上小数点共5个字符,其中小数点后占1位常用的转义字符:1、il2、r3、t4、v5、f6、7、b8、f9、0换行回行首水平tab键垂直tab键单引号单斜线退一格跳页后接8进制数,显示对应的ASCH字符实例1rootlocalhost T# printf /yHello, world. nz,Hello, worldroo1:localhost实例2说明:在引用变量时,最好用双引号将变量括起来。.rootlocalhos1:

7、strHello world.rootlocalhos-t T# printf 加 Hel1q world. root趣1ocalhost T#实例3说明:输出变量血的单个字符。rootlQ cal host printf z/%cn/z /z$strrootlocalhost实例4说明:expr lengtli “字符串”可返回字符串的长度:rootlocalhost # length* expr length八.rootlocaJhost # echo $length:l2 、.rootlocalhos t J#.rootlocalhos tprintf 畑共有d个字符n$ length.

8、Hello, world.共有12个字符rootlocalhost J#实例5分别返回整数和浮点数rootlocalhost # printf3030roo-tlocalhost # printf3030.000000rootlocalhost #实例6说明:每个字串占5个字符长度,右对齐。 HYPERLINK mailto:rootlocalh.os1 rootlocalh.os1:printfyes noyes no rootlocalhostrootlocalh.os-t 门#实例7说明:每个字串占5个字符长度,左对齐。rootlocalhost T# printfyes noyes n

9、o rootlocalhost T#rootlocalhost T#实例8加上小数点共5个字符,其中小数点后占1位rootlocalhost # printf3030.0.roo t 嬷 locailhos t .rootlocalhost三、read命令从键盘或文件中读入信息,将其赋给变量(一个或多个),直到遇到回车符或文件结束符为止。 格式一:read变量1 变量2 变量3/变量间用空格隔开。如:1、# read nameHello I am superman 将整个字符串赋给变量。因为只指定了一个变量。echo SnameHello I am superman2、# read name

10、surnameJohn Doe给定了两个变量,且输入了两个字符串,将它们分别赋给了两个不同的变量。echo SnameJohnecho SsuinameDoe3、# read name surnameJohn Lemon Doe 给定了两个变量,输入了三个字符串,第一个单词赋给第一个变量,由于变量数少于单词数,因此后两个单词被赋给了 surname变量。echo SnameJohnecho SsuinameLemon Doe 4、# read STR iiistall.log 将 iiistall.log 文件的第一行赋给变量 STR_rootRHEL4-l # read STR instal

11、l, log .rootRHEL4-l echo $STR 安装软件亀rootRHEL4-l #5、存代ad STR1 STR2 mstall.log 以空格为分隔符,读取mstall.log文件,分别赋值给两个变量。ILrootRHEL4-l read STR1 STR2 instaU.log rootRHEL4-l T# echo $STR1 安装|rootRHEL4-l J# echo $STR2 750软件包rm诫RHEL4-1 T# |格式二:取代echo命令的用法:rootlocalhost 请输入你的姓名;.roo t 嬷 rootlocalhost 请输入你的姓名;.roo t

12、 嬷 localhos t .rootlocalhost zhangsan frootlocalhostnamep 请输入你的姓名 zhangsanecho $nauiens格式三:限定时间read -p秒数提示信息”变量名在限定时间内等待输入,过时返加一个非0状态值。#1/binA ashif read -t 5 -p 输入姓名: name thenecho Hello, $naineg ggecho -e ri时间太久,程序退岀 fiJrootLinuxMonLtor temp# . A. sh齢毂程序退岀.rootLinu.xMoni-tor temp# /b. sh 输入姓名:zSHe

13、llo, zs.rootLinuxMonitor temp#格式四:限定输入的字数采用字符数”来对输入的字符数进行限制。示例1:#l/bin/bash 刃刃inmue on .read n 1 -p Do you want continue y/n? 刃 answer case .banswerinmue on .Y|y) echo eckio fN|n) echo echo exit;esac echo This is the end of the serif rootLinuicHciriitciT teinp# /a. sh Do you want continue y/n? y fin

14、e, continue on This is thg end of the: script.rootLinuxMonitor tenp# .rootLinuxMonitor teirip# . /a. sh Do you want continue y/n? n. OK, goodbye.rootLinuxMoni-tor temp#格式五:隐藏输入的字符。用于密码的输入。可用“-S ”选项使输入的字符不显示。实际上是显示的,只是将字符的颜色设成与背景色一致。 示例1#l/bin/bash “(read -s -p /?Enter your password: password echoech

15、o Is your password really $password?zzrootLinuxMoni t or terripl# . /a- sh Enter your password:Is your password really 123456?roqtLinuxMonitor temp#格式尢 利用read读取文件的一行内容可以使用下面的read命令来读取文件中的第一行内容。并将内容存入变量中去。# read line /etc/passwd如果需要循环读取整个文件的内容,必须要与cat及while命令结合使用。下面的例子不断读取文件中 的每一行内容,并将内容存入变量中去。直到读完为止

16、。在下面例子中,while的循坏次数其实是由cat命令控制的,cat命令的实现原理也是一行一行地读取 文件内容,读一行计数器加1,直到读完为止。#1 Ain/bashcount=lcat ff | while read line doecho 第 $ count 行的內容是:$line? (count+ );done曙容容容容容容容 m内內内内内内内内曙容容容容容容容 m内內内内内内内内.-0-t行行名仃盘仃行012345678rOtl2345678-1In;izEirp#./a. sh三、cat命令:-V:显示控制字符-n:显示行号-A:显示所有字符,含特殊字符cat文件名:从键盘输入内容存

17、入文件,按Ctrl+d结束。四、tee命令将显示在屏幕上的内容存入一个文件。相当于重定向功能。也可将其当成一个简单的文本处理器,将键盘 输入的内容存入文件。相当于cat文件名。与单纯的重定向“文件名”不同的是,内容既会在屏幕上显示出来,又会存入到文件中。-a:追加到文件尾1、who | tee who.out 存入 xvho.out 文件。相当于 who who.out2、echo abcdefg | tee -a striiig.txt 追加到文件尾五、文件描述符。标准输入文件的文件描述符:0 标准输入文件的文件描述符:0 标准输出文件的文件描述符:1 错误输出文件的文件描述符:2缺省是屏幕,也可以是文件。在shell中执行命令时,每个进程都和上述的三个打开的文件相联系。 系统中共有12个文件描述符。六、重定向重定向标准输入:sort a.txt重定向标准错误:grep dkeikdk” a.txt2/dev/nullgrep dkeikdk” a.txt2/dev/null结合使用grep dkekek” a.txtgrep “dkekek”a.txt a.txt 2&1grep “dkekek”a.txt a.txt 2&1内置输入重定向“broot01ocalhost aU cat a.tx

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论