快速业务通道

shell-输入和输出-shell编程笔记3

作者 佚名技术 来源 Linux系统 浏览 发布时间 2012-04-07
1、 echo命令可以显示文本行或变量,或者把字符串输入到文件. echo [option] string --命令格式 -e 解析转义字符 -n 回车不换行,linux系统默认回车换行 转义符(c,f,t,n) 例子:关于echo的脚本,注意观察其中的字符和参数的使用. #!/bin/bash #echod echo -e "This echo''s 3 new linesnnn" echo "OK" echo echo "This echo''s 3 new linesnnn" echo "The log files have all been done">mylogfile.txt 执行这个脚本的结果应该是: #./echod This echo''s 3 new lines OK This echo''s 3 new linesnnn 和mylogfile.txt文件中的:The log files have all been done 2、 read语句可以从键盘或文件的某一行文本中读入信息,并将其赋给一个变量. read varible1 varible2 ……命令格式 如果只指定了一个变量,那么read将会把所有的输入赋给该变量,直至遇到第一个文件结束符或回车;如果给出了多个变量,它们按顺序分别被赋予不同的变量.Shell将用空格作为变量之间的分隔符. 例子:关于read的脚本: #!/bin/bash #readname echo -n "First name :" read Firstname echo -n "Last name :" read Lastname Subname Thirdname echo -e "Your firstname is:${Firstname}n" echo -e "Your lastname is:${Lastname}n" echo -e "Your subname is:${Subname}n" echo -e "Your Thirdname is:${Thirdname}n" 3、 cat是一个简单通用的命令,可以用它来显示文件内容、创建文件,还可以用它来显示控制字符. Cat [option] filename1 filename2 ……命令格式 -v 显示控制字符 使用cat命令时要注意,它不会再文件分页符处停下来;他会一下显示完整个文件.如果希望每次显示一页,可以用more命令或把cat命令的输出通过管道传递到另外一个具有分页功能的命令(more,less)中. Man cat 列子:#cat myfile #cat mafile1 myfile2 myfile3 #cat mafile1 myfile2 myfile3 >myfile #cat –v dos.txt 4、 管道 ( | )可以把一个命令的输出传递给另一个命令作为输入. 格式:command1 | command2 例子:#cat myfile | more #ls –l | grep “myfile” #df -k | awk ''{print $1}'' | grep -v "Filesystem" | tee [-a] partation.txt 5、 tee 命令把输出的一个副本输送到标准输出,另一个副本拷贝到相应的文件中. tee –a files--------命令格式 ---如果希望看到输出的同时,也将其存入一个文件,那么这个命令再合适不过了. ---一般用于管道之后. 例子:#who | tee –a who.out -a 这个参数是追加的意思,不加的话直接覆盖原有文件. # df -k | awk ''{print $1}'' | grep -v "Filesystem" | tee [-a] partation.txt 6、 标准输入、输出和错误:在shell中执行命令时,每个进程都和三个打开的文件相联系,并使用文件描述符来引用这些文件.文件描述符不容易记忆,shell同时也给出了相应的文件名.
文件 文件描述符
Empire CMS,phome.net
输入文件—标准输入 0(缺省时键盘,也可以是文件或其他命令的输出)
输出文件—标准输出 1(缺省时屏幕,也可以是文件)
错误输出文件—标准错误 2(缺省时屏幕,也可以是文件)
系统中实际上有12个文件描述符,可以任意使用文件描述符3到9. 7、 文件重定向:改变程序运行的输入来源和输出地点.
Command > filename 把标准输出重定向到一个新文件中
Command >> filename 把标准输出重定向到一个新文件中(追加)
Command 1 > filename 把标准输出重定向到一个文件中
Command > filename 2>&1 把标准输出和标准错误一起重定向到一个文件中
Command 2 > filename 把标准错误重定向到一个文件中
Command 2 >> filename 把标准错误重定向到一个文件中(追加)
Command >> filename 2>&1 把标准输出和标准错误一起重定向到一个文件中(追加)
Command < filename > filename2 Command命令以filename文件作为标准输入,以filename2作为标准输出
Empire CMS,phome.net
Command < filename Command命令以filename文件作为标准输入
Command << delimiter 从标准输入中读入,直至遇到delimiter分界符
Command <&m 把文件描述符m作为标准输入
Command >&m 把标准输出重定向到文件描述符m中
Command <& 关闭标准输入

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

12下一页
分享到: 更多
你可能对下面的文章感兴趣
上一篇: GNUAutoTools使用流程下一篇: Linux系统案例精解读书笔记

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号