Linux自動化運(yùn)維(Shell與Ansible)(微課版) 課件 1-4-數(shù)據(jù)輸入輸出_第1頁
Linux自動化運(yùn)維(Shell與Ansible)(微課版) 課件 1-4-數(shù)據(jù)輸入輸出_第2頁
Linux自動化運(yùn)維(Shell與Ansible)(微課版) 課件 1-4-數(shù)據(jù)輸入輸出_第3頁
Linux自動化運(yùn)維(Shell與Ansible)(微課版) 課件 1-4-數(shù)據(jù)輸入輸出_第4頁
Linux自動化運(yùn)維(Shell與Ansible)(微課版) 課件 1-4-數(shù)據(jù)輸入輸出_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

初識Shell腳本項目4:數(shù)據(jù)輸入輸出目錄/Contents010203echo命令printf命令read命令01echo命令echo命令echo是一個常用的Shell命令。它的主要功能是輸出字符串,可以將指定的文本字符串輸出到標(biāo)準(zhǔn)輸出(默認(rèn)是屏幕),也可以用于輸出提示信息、調(diào)試信息、結(jié)果信息等。echo命令基本語法如下:echo[options]string序號命令選項描述1-n不輸出換行符,繼續(xù)在當(dāng)前行輸出2-e開啟轉(zhuǎn)義字符,可以使用轉(zhuǎn)義字符來輸出特殊字符3-E禁用轉(zhuǎn)義字符(默認(rèn)行為)其中,options表示可選的參數(shù),string表示要輸出的字符串。echo命令選項如下表所示。echo命令使用以下命令輸出字符串,當(dāng)輸出的字符串中包含空格或其他特殊字符時,通常使用引號標(biāo)識字符串。例如:[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."#執(zhí)行腳本,輸出結(jié)果如下[opencloud@server~]$bashecho.shMynameisJohn,Iam18yearsold.使用以下命令輸出帶有轉(zhuǎn)義字符的字符串,例如:在腳本中,使用echo命令輸出變量的值,例如:echo命令在Shell中,echo命令支持一些常見的轉(zhuǎn)義符,可以用來輸出特殊字符。在使用轉(zhuǎn)義符時,將字符串放在雙引號之內(nèi)。echo命令支持的轉(zhuǎn)義符如下表所示。序號轉(zhuǎn)義符含義1\反斜線2\b輸出退格字符(刪除字符)3\c不換行輸出字符串,繼續(xù)在當(dāng)前行輸出4\f輸出換頁符5\n輸出換行符6\r輸出回車符(回到行首)7\t輸出水平制表符8\v輸出垂直制表符9\e通常用于表示ANSI轉(zhuǎn)義碼,以便在終端中設(shè)置文本的顏色、樣式echo命令使用echo命令和常見轉(zhuǎn)義字符的一些示例:#使用echo命令不換行輸出字符串,繼續(xù)在當(dāng)前行輸出[opencloud@server~]$echo-e"Hello,\cWorld!"Hello,[opencloud@server~]$#輸出轉(zhuǎn)義字符:[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命令主要用于格式化輸出字符串,輸出帶有特定格式的信息,例如輸出字符串、數(shù)字、字符、符號或者其他值。它與echo命令類似,但支持更多的格式化選項。printf命令基本語法如下:printfformat[argument]...format表示一個字符串,用于指定輸出的格式。它可以包含轉(zhuǎn)義序列,這些轉(zhuǎn)義序列用于指定輸出的格式和內(nèi)容。Argument表示一個或多個參數(shù),用于提供要輸出的內(nèi)容。printf命令printf命令需要在字符串中使用占位符,然后指定要輸出的值。它可以通過在字符串中包含一些格式說明符,然后按照格式說明符指定的格式將參數(shù)輸出到標(biāo)準(zhǔn)輸出。例如: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,小數(shù)點(diǎn)后保留2位的浮點(diǎn)數(shù)。printf命令printf命令使用的占位符如下表所示。printf命令基本語法如下:序號占位符說明1%s輸出字符串(string)2%c輸出單個字符(character)3%d輸出十進(jìn)制整數(shù)(decimalinteger)4%f輸出浮點(diǎn)數(shù)(floatingpointnumber)5%o輸出無符號八進(jìn)制整數(shù)(octalinteger)6%e輸出科學(xué)記數(shù)法(scientificnotation)形式的浮點(diǎn)數(shù)7%b輸出二進(jìn)制整數(shù)(binaryinteger)8%n輸出目前為止輸出的字符總數(shù)9%g輸出指定精度的浮點(diǎn)數(shù)10%x輸出無符號十六進(jìn)制整數(shù)(hexadecimalinteger)(小寫字母形式)11%X輸出十六進(jìn)制整數(shù)(大寫字母形式)12%(datefmt)T將參數(shù)以指定的日期和時間格式輸出(datefmt為日期和時間格式字符串)printf命令printf"Thefirstletterofthealphabetis%c\n"‘a(chǎn)’#輸出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)輸出字符數(shù)組中的所有字符:(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)輸出字符串?dāng)?shù)組中的所有字符串:(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)輸出單個整數(shù):(2)輸出字符串?dāng)?shù)組中的所有字符串:(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)輸出單個二進(jìn)制整數(shù):(2)輸出字符串?dāng)?shù)組中的所有字符串:(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)輸出單個二進(jìn)制整數(shù):(2)在字符串?dāng)?shù)組中使用%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)輸出當(dāng)前日期和時間:(2)在字符串?dāng)?shù)組中使用%n:03read命令read命令在Shell腳本中,read命令是一個內(nèi)置命令,用于從標(biāo)準(zhǔn)輸入(通常是鍵盤)中讀取一行文本并將其賦值給一個或多個變量。該命令通常用于在腳本運(yùn)行時從用戶那里獲取輸入。read命令的基本語法如下:read[options]variable1[variable2...]其中,options表示可選的選項,可以用于指定輸入的格式;variable1表示一個變量名,將保存讀取的輸入值;variable2表示可選項,用于將多個變量賦為輸入的值。read命令read命令常見選項如下表所示。序號選項描述1-p指定提示符,用于在輸入之前展示給用戶2-r禁止轉(zhuǎn)義字符的解釋3-n指定最多讀取的字符數(shù)4-d指定一個字符作為結(jié)束符,遇到此字符時將會終止讀取5-s禁止回顯用戶輸入的字符,隱藏其輸入的內(nèi)容6-t指定超時時間,即在指定的時間內(nèi)沒有輸入將會終止讀取使用read命令讀取變量并輸出:[opencloud@server~]$catread.sh#!/bin/bashread-p"Wh

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論