Linux自动化运维(Shell与Ansible)(微课版) 课件 1-4-数据输入输出_第1页
Linux自动化运维(Shell与Ansible)(微课版) 课件 1-4-数据输入输出_第2页
Linux自动化运维(Shell与Ansible)(微课版) 课件 1-4-数据输入输出_第3页
Linux自动化运维(Shell与Ansible)(微课版) 课件 1-4-数据输入输出_第4页
Linux自动化运维(Shell与Ansible)(微课版) 课件 1-4-数据输入输出_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

初识Shell脚本项目4:数据输入输出目录/Contents010203echo命令printf命令read命令01echo命令echo命令echo是一个常用的Shell命令。它的主要功能是输出字符串,可以将指定的文本字符串输出到标准输出(默认是屏幕),也可以用于输出提示信息、调试信息、结果信息等。echo命令基本语法如下:echo[options]string序号命令选项描述1-n不输出换行符,继续在当前行输出2-e开启转义字符,可以使用转义字符来输出特殊字符3-E禁用转义字符(默认行为)其中,options表示可选的参数,string表示要输出的字符串。echo命令选项如下表所示。echo命令使用以下命令输出字符串,当输出的字符串中包含空格或其他特殊字符时,通常使用引号标识字符串。例如:[opencloud@server~]$echo"Hello,World!"Hello,World![opencloud@server~]$echo-e"Hello,\tWorld!"Hello,World![opencloud@server~]$catecho.sh#!/bin/bashname="John"age=18echo"Mynameis$name,Iam$ageyearsold."#执行脚本,输出结果如下[opencloud@server~]$bashecho.shMynameisJohn,Iam18yearsold.使用以下命令输出带有转义字符的字符串,例如:在脚本中,使用echo命令输出变量的值,例如:echo命令在Shell中,echo命令支持一些常见的转义符,可以用来输出特殊字符。在使用转义符时,将字符串放在双引号之内。echo命令支持的转义符如下表所示。序号转义符含义1\反斜线2\b输出退格字符(删除字符)3\c不换行输出字符串,继续在当前行输出4\f输出换页符5\n输出换行符6\r输出回车符(回到行首)7\t输出水平制表符8\v输出垂直制表符9\e通常用于表示ANSI转义码,以便在终端中设置文本的颜色、样式echo命令使用echo命令和常见转义字符的一些示例:#使用echo命令不换行输出字符串,继续在当前行输出[opencloud@server~]$echo-e"Hello,\cWorld!"Hello,[opencloud@server~]$#输出转义字符:[opencloud@server~]$echo-e"\e"

#输出换页符[opencloud@server~]$echo-e"Hello,\fWorld!"Hello,World!#输出换行符[opencloud@server~]$echo-e"Hello,\nWorld!"Hello,World!#输出水平制表符[opencloud@server~]$echo-e"Hello,\tWorld!"Hello,World!#输出垂直制表符[opencloud@server~]$echo-e"Hello,\vWorld!"Hello,World!02printf命令printf命令在Shell脚本中,printf命令主要用于格式化输出字符串,输出带有特定格式的信息,例如输出字符串、数字、字符、符号或者其他值。它与echo命令类似,但支持更多的格式化选项。printf命令基本语法如下:printfformat[argument]...format表示一个字符串,用于指定输出的格式。它可以包含转义序列,这些转义序列用于指定输出的格式和内容。Argument表示一个或多个参数,用于提供要输出的内容。printf命令printf命令需要在字符串中使用占位符,然后指定要输出的值。它可以通过在字符串中包含一些格式说明符,然后按照格式说明符指定的格式将参数输出到标准输出。例如:printf"%-10s%-8s%-4s\n"姓名性别体重/kgprintf"%-10s%-8s%-4.2f\n"郭靖男66.1234printf"%-10s%-8s%-4.2f\n"杨过男68.6543printf"%-10s%-8s%-4.2f\n"郭芙女47.9876#输出姓名

性别

体重/kg郭靖

男66.12杨过

男68.65郭芙

女47.99示例中,%-10s表示输出一个左对齐且宽度为10的字符串,%-8s表示输出一个左对齐且宽度为8的字符串,%-4.2f表示输出一个左对齐且宽度为4,小数点后保留2位的浮点数。printf命令printf命令使用的占位符如下表所示。printf命令基本语法如下:序号占位符说明1%s输出字符串(string)2%c输出单个字符(character)3%d输出十进制整数(decimalinteger)4%f输出浮点数(floatingpointnumber)5%o输出无符号八进制整数(octalinteger)6%e输出科学记数法(scientificnotation)形式的浮点数7%b输出二进制整数(binaryinteger)8%n输出目前为止输出的字符总数9%g输出指定精度的浮点数10%x输出无符号十六进制整数(hexadecimalinteger)(小写字母形式)11%X输出十六进制整数(大写字母形式)12%(datefmt)T将参数以指定的日期和时间格式输出(datefmt为日期和时间格式字符串)printf命令printf"Thefirstletterofthealphabetis%c\n"‘a’#输出Thefirstletterofthealphabetisacharacters=('a''b''c')printf"Thecharactersare:%c%c%c\n""${characters[@]}“#输出Thecharactersare:abcnames=('Alice''Bob''Eve')printf"Thenamesare:%s%s%s\n""${names[@]}“#输出Theletteris:Zprintf命令使用%c格式化字符的示例如下。(1)输出单个字符:(2)输出字符数组中的所有字符:(3)输出字符变量的值:printf命令printf"Thenameofthiswebsiteis%s\n""StackOverflow“#输出ThenameofthiswebsiteisStackOverflownames=('Alice''Bob''Eve')printf"Thenamesare:%s%s%s\n""${names[@]}“#输出Thenamesare:AliceBobEvegreeting='Hello,world!'printf"Thegreetingis:%s\n""$greeting“Thegreetingis:Hello,world!printf命令使用%s格式化字符串的示例如下。(1)输出单个字符串:(2)输出字符串数组中的所有字符串:(3)输出字符变量的值:printf命令printf命令使用%d格式化字符串的示例如下。printf"Thenumberis:%d\n"42#输出Thenumberis:42numbers=(123)printf"Thenumbersare:%d%d%d\n""${numbers[@]}“#输出Thenumbersare:123count=5printf"Thecountis:%d\n""$count“#输出Thecountis:5(1)输出单个整数:(2)输出字符串数组中的所有字符串:(3)输出字符变量的值:printf命令printf命令使用%b格式化字符串的示例如下。printf"Thenumberis:%b\n"5#输出Thenumberis:101numbers=(567)printf"Thenumbersare:%b%b%b\n""${numbers[@]}“#输出Thenumbersare:567binary=1101printf"Thebinarynumberis:%b\n""$binary“#输出Thebinarynumberis:1101(1)输出单个二进制整数:(2)输出字符串数组中的所有字符串:(3)输出字符变量的值:printf命令printf命令使用%n格式化字符串的示例如下。printf"Thereare%dcharactersinthisstring.%n"8countecho"Thevalueofcountis:$count“#输出Thereare14charactersinthisstring.Thevalueofcountis:38strings=('Thisisstring1''Thisisstring2')printf"Thereare%dcharactersinstring1.%n"100count1printf"Thereare%dcharactersinstring2.%n"1000count2echo"Thevalueofcount1is:$count1"echo"Thevalueofcount2is:$count2“#输出Thereare100charactersinstring1.Thereare1000charactersinstring2.Thevalueofcount1is:37Thevalueofcount2is:38(1)输出单个二进制整数:(2)在字符串数组中使用%n:printf命令printf命令使用%(datefmt)T格式化日期和时间的示例如下。printf"Thecurrentdateandtimeis:%(%Y-%m-%d%H:%M:%S)T\n"#输出Thecurrentdateandtimeis:2024-05-2517:38:32printf"Thedateandtimeis:%(%a%b%d%I:%M%p%Z%Y)T\n"#输出Thedateandtimeis:ThuApr2505:39PMCST2024(1)输出当前日期和时间:(2)在字符串数组中使用%n:03read命令read命令在Shell脚本中,read命令是一个内置命令,用于从标准输入(通常是键盘)中读取一行文本并将其赋值给一个或多个变量。该命令通常用于在脚本运行时从用户那里获取输入。read命令的基本语法如下:read[options]variable1[variable2...]其中,options表示可选的选项,可以用于指定输入的格式;variable1表示一个变量名,将保存读取的输入值;variable2表示可选项,用于将多个变量赋为输入的值。read命令read命令常见选项如下表所示。序号选项描述1-p指定提示符,用于在输入之前展示给用户2-r禁止转义字符的解释3-n指定最多读取的字符数4-d指定一个字符作为结束符,遇到此字符时将会终止读取5-s禁止回显用户输入的字符,隐藏其输入的内容6-t指定超时时间,即在指定的时间内没有输入将会终止读取使用read命令读取变量并输出:[opencloud@server~]$catread.sh#!/bin/bashread-p"Wh

温馨提示

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

评论

0/150

提交评论