一起学Shell之(二)输出以及其它
#----------------------------------------------------------## ====> 红色字体 -特指煮酒个人所见。加粗则为需要重点注意。 ## ====> 蓝色加粗 -特指与本文相关人员,包括参与修正的朋友。 ## ====> 煮酒品茶 -Http://cwtea.blog.51cto.com ##----------------------------------------------------------# echo 与printf I/0重定向等语 法:echo [-ne][字符串]或 echo [--help][--version]补充说明:echo会将输入的字符串送往标准输出。输出的字符串间以空白字符隔开, 并在最后加上换行号。参 数:-n 不要在最后自动换行 -e 若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出:\a 发出警告声;\b 删除前一个字符;\c 最后不加上换行符号;\f 换行但光标仍旧停留在原来的位置;\n 换行且光标移至行首;\r 光标移至行首,但不换行;\t 插入tab;\v 与\f相同;\\ 插入\字符;\nnn 插入nnn(八进制)所代表的ASCII字符;–help 显示帮助–version 显示版本信息 煮酒品茶:死记硬背不是个办法,我们也不可能记得这么多参数,最好的办法就是请求帮助,man echo echo -help再不行百度。echo的具体作用在于输入信息,如提示用户到哪里了,提示用户该输入什么信息了。这个比较适合加\a参数,响一下来让用户知道该做什么该作,但更多的脚本最好少一些交互吧。\n换行,我想输出信息也是为了美观吧。或者提示用户信息到哪了,要出错在之前或之后。 printfr wt说明:甚本复制了C程序库里的printf()库程序的功能,所以基本可以通用。与echo不同的是它不提供换行操作。 %s 用于字符串的输出如:--------------------------------# cat printfprintf "hello 123 '%s,%s'" Love 51cto# ./printfhello 123 'Love,51cto'#------------------------------------煮酒品茶,并没有提供换行符,所以输出的信息连在一起了。这个%s的作用我的理解是用作多个同种格式下文本的定义还不错,这样会省于很多代码,和省下很多心。---------------------------------# cat printfi='%s,%s!'printf "$i" ni hao zhongguoprintf "$i" ni hao cwteaprintf "$i" love you# ./printfni,hao!zhongguo,!ni,hao!cwtea,!love,you!#--------------------------------------- 基本的I/O重定向 概念:程序应该有数据的来源端和目地端,以及报告问题的地方,称之为标准输入,标准输出,标准错误输出、 输入输出可以是任何文件终端硬件等,而以Linux一切皆文件,那么就是任何文件喽。 例:-------------------------# cat11234#手工输入的11234#cat输出的#------------------- 重定向符号:< > >>< 的作用是调取后面的文件然后用 的作用就是把前面的内容输出到后面的文件中,如果目的地不存在,那么创建,已存在那么替换掉原数据。如-------------------------------# cat ts#! /bin/shhello 51CTO# cat ts >123# ls123printfts# cat 123#! /bin/shhello 51CTO#----------------------------------- >>是添加文件到末尾,这个对配置文件很有效啊。如:------------------------------------# tr -d "hello" >123# ls123printfts# cat 123#! /bin/shhello 51CTO#! /bin/s 51CTO#----------------------------------------煮酒品茶:这个过度多加了一行,先是取ts里面的值并执行tr -d "hello"并输出到123的末端。由于是一路操作下来的,那么123和ts文件就不cat了。tr命令,请tr -help或百度查。tr的作用,更改文件,特别是配置文件特别不错,注意的是在有管道时,我们应该体现数据效率,尽可能的把少的数据移交给后面的管道。 特珠文件:/dev/null与/dev/tty煮酒品茶:/dev/null这个大家最常见,特别是任务计划中。/dev/null 位桶,把数据写入此文件,系统将认为数据已完成写入操作,并把数据给丢掉。/dev/tty:打开此文件,系统就重定向到另一个终端与程序相结合。 /dev/null 这个用的比较广,比如任务计划每五分钟执行一次程序,那么产生的信息太多,而我们又不需要,这时可以 直接给它写到位桶里面。/dev/tty 这个个人认为在安全方面不错,当A要输入密码时可以切换到另一终端,让另一终端来输入密码然后确认后返 回。原Shell.-----------------------------------# cat ttyecho "Input Pass1:"stty -echo#关闭echoread pass
页:
[1]