Linux自動化運維(Shell與Ansible)(微課版) 課件 項目1 初識Shell 腳本_第1頁
Linux自動化運維(Shell與Ansible)(微課版) 課件 項目1 初識Shell 腳本_第2頁
Linux自動化運維(Shell與Ansible)(微課版) 課件 項目1 初識Shell 腳本_第3頁
Linux自動化運維(Shell與Ansible)(微課版) 課件 項目1 初識Shell 腳本_第4頁
Linux自動化運維(Shell與Ansible)(微課版) 課件 項目1 初識Shell 腳本_第5頁
已閱讀5頁,還剩118頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

Linux自動化運維項目1:初識Shell腳本

學習目標【知識目標】了解LinuxShell基本概念、主要版本及用途。了解輸入輸出重定向和管道符基本概念。了解數據輸入輸出、運算符、轉義符基本概念。了解Shell變量的定義與調用基本概念。【技能目標】掌握輸入輸出重定向和管道符的使用方法。掌握數據輸入輸出、算術運算符、轉義符的使用方法。掌握Shell變量的定義與調用。【素質目標】培養(yǎng)讀者的團隊合作精神、協(xié)同創(chuàng)新能力,使其能夠在團隊中積極合作、有效溝通。培養(yǎng)讀者的信息素養(yǎng)和學習能力,使其能夠靈活運用正確的學習方法和技巧,快速掌握新知識和技能,并不斷學習和進步。培養(yǎng)讀者嚴謹的邏輯思維能力,使其能夠正確地處理自動化管理中的問題。同時,注重培養(yǎng)讀者在開源技術方面的國產自主意識,熟悉相關的開源協(xié)議。初識Shell腳本任務1:LinuxShell簡介目錄/Contents01020304Linux操作系統(tǒng)Linux內核Linux發(fā)行版Shell簡介05Shell版本01Linux操作系統(tǒng)Linux操作系統(tǒng)操作系統(tǒng)(OperatingSystem,OS)是一組主管并控制計算機操作、運用和運行硬件、軟件資源和提供公共服務來組織用戶交互的相互關聯(lián)的系統(tǒng)軟件程序,同時也是計算機系統(tǒng)的核心與基石。操作系統(tǒng)需要處理管理與配置內存、決定系統(tǒng)資源供需的優(yōu)先次序、控制輸入與輸出裝置、操作網絡與管理文件系統(tǒng)等基本事務,讓應用程序可以與硬件交互,常見的操作系統(tǒng)有:Linux、Windows、MacOS、安卓、蘋果ios等。Linux操作系統(tǒng)通常情況下,企業(yè)使用的Linux指的是操作系統(tǒng)。Linux操作系統(tǒng)是一種開源的、支持多用戶和多任務的操作系統(tǒng),它的內核由芬蘭人林納斯·托瓦爾茲在1991年發(fā)布,現(xiàn)在由Linux基金會維護和管理。Linux操作系統(tǒng)是由多個部分組成的,主要有以下幾部分:內核Linux操作系統(tǒng)的主要組件,也是計算機硬件與其進程之間的核心接口,負責兩者之間的通信,以及盡可能高效地管理資源

系統(tǒng)庫是操作系統(tǒng)提供的一組可供程序調用的函數庫。它可以幫助程序與內核進行交互,以獲取系統(tǒng)資源或完成其他操作

用戶空間程序是指運行在用戶模式下的程序,它們不能直接訪問內核,而是通過系統(tǒng)庫與內核進行交互

圖形用戶界面是指用圖像的方式向用戶呈現(xiàn)操作系統(tǒng)的界面,使用戶能夠通過圖形化的方式與系統(tǒng)進行交互

為用戶提供特定功能的程序。Linux操作系統(tǒng)提供了大量的應用程序,用戶可以根據需要安裝和使用這些應用程序

內核系統(tǒng)庫應用程序圖形用戶界面用戶空間程序Linux操作系統(tǒng)Linux操作系統(tǒng)是由多個部分組成的,主要有以下幾部分文件系統(tǒng)是指操作系統(tǒng)用于存儲文件和數據結構的地方。它提供文件的存儲、管理和訪問功能。安裝程序是指用于安裝Linux系統(tǒng)的程序,它可以幫助用戶將Linux系統(tǒng)安裝到硬盤或其他存儲設備上。啟動程序是指用于啟動Linux操作系統(tǒng)的程序,它負責加載內核并啟動操作系統(tǒng)。配置文件是指用于配置操作系統(tǒng)和程序的文件,它可以幫助用戶調整系統(tǒng)的行為和參數。文件系統(tǒng)安裝程序配置文件啟動程序Linux操作系統(tǒng)02Linux內核Linux內核術語“操作系統(tǒng)”通常包含兩種不同的含義指完整的軟件包,在更狹義的范圍內,指管理和分配計算機資源(即CPU、內存和設備)的核心層軟件。術語“內核”通常是指狹義范圍的含義。雖然在沒有內核的情況下,計算機也能運行程序,但有了內核會極大簡化其他程序的編寫和使用,讓工程師游刃有余地管理系統(tǒng)。之所以稱為內核,是因為在操作系統(tǒng)中它就像果實的種子一樣,控制著硬件(無論是移動終端、筆記本電腦、服務器,還是任何其他類型的計算機)的所有主要功能。01Linux內核目前由Linux基金會負責管理和維護。Linux基金會是一個非營利性的組織,致力于為開源技術和社區(qū)發(fā)展做出貢獻。它旨在促進Linux內核和相關技術的發(fā)展,并為開源社區(qū)提供支持和資源。02Linux內核的維護主要由內核開發(fā)者和社區(qū)維護者完成。Linux內核的發(fā)布頻率通常是每隔幾個月發(fā)布一次。每次發(fā)布的版本都有一個版本號,如6.1.4。每個版本號由3個數字組成,分別表示主版本號、次版本號和修訂號。03Linux內核的維護工作包括代碼審核、測試、合并、發(fā)布等步驟。Linux內核的代碼托管在Git倉庫中,經過嚴格的審核和測試后,才能合并到主線版本中。Linux內核03Linux發(fā)行版Debian是一款基于Linux的開源操作系統(tǒng),由志愿者組成的社區(qū)發(fā)布和維護。Debian適用于個人計算機、服務器、嵌入式設備等平臺。Debian的特點在于穩(wěn)定性和自由性,它提供了豐富的軟件源,用戶可使用包管理器apt進行軟件的安裝、升級和卸載。DebianUbuntu是一款基于Linux的開源操作系統(tǒng),由科能軟件有限公司公司維護和發(fā)布。Ubuntu適用于個人計算機、服務器、移動設備等平臺。其主要特點在于易用性和社區(qū)化,它提供了豐富的軟件源和包管理器,并提供了豐富的圖形化安裝和管理工具。UbuntuLinux發(fā)行版RHEL是由紅帽公司開發(fā)的商業(yè)市場導向的Linux發(fā)行版,提供長達10年的支持服務,用戶可以按照自己的計劃進行升級并在需要時采用新的功能。RHELCentOSStream是一款滾動發(fā)布的操作系統(tǒng)。它提供持續(xù)內容流,不斷地收集最新的軟件包,并在經過測試后發(fā)布。在發(fā)布新的RHEL版本之前,紅帽公司會在CentOSStream中開發(fā)RHEL源碼,RHEL9是在CentOSStream中構建的第一個主要版本。CentOSStreamLinux發(fā)行版提供了一個強大的、可擴展的操作系統(tǒng)平臺,并且注重用戶體驗,具有簡單易用的圖形用戶界面和豐富的軟件源。Fedora還注重自由和開源軟件,并且是一個流行的服務器和桌面操作系統(tǒng)。Fedora歐拉是一個開源的Linux發(fā)行版,由華為公司開發(fā)和維護。它的軟件包管理方式和RHEL、CentOSStream一致,但它提供了更多的應用和工具,并經過了深度優(yōu)化,用于企業(yè)級服務器、工作站、虛擬化和云環(huán)境。openEuler04Shell簡介Shell簡介Shell是一種具有特殊用途的程序,主要用于讀取用戶輸入的命令,并執(zhí)行相應的程序以響應命令。Shell也被稱為命令解釋器,用戶可以通過輸入命令來控制操作系統(tǒng)和運行程序。術語“登錄Shell”是指用戶登錄系統(tǒng)時,由系統(tǒng)創(chuàng)建用以運行Shell的進程。盡管某些操作系統(tǒng)將命令解釋器集成于內核中,但對Linux操作系統(tǒng)而言,Shell只是一個用戶進程。Shell簡介設計Shell的目的不僅是用于人機交互,對Shell腳本(包含Shell命令的文本文件)進行解釋也是其目的之一。為實現(xiàn)這一目的,每款Shell都內置有許多通常與編程語言相關的功能,其中包括變量、循環(huán)和條件語句、輸入輸出命令以及函數等。無論是專有系統(tǒng)還是開源系統(tǒng),許多操作系統(tǒng)上都可以使用命令行。LinuxShell提供一種CLI,用戶可以通過輸入命令來控制操作系統(tǒng)。提供用戶界面01LinuxShell可以執(zhí)行各種內置命令和外置命令,完成各種操作。執(zhí)行命令02LinuxShell可以執(zhí)行Shell腳本,實現(xiàn)自動化運維、系統(tǒng)管理和程序開發(fā)等功能。執(zhí)行腳本03LinuxShell可以重定向輸入輸出,將命令的輸入或輸出重定向到文件或其他命令。輸入輸出重定向04LinuxShell支持環(huán)境變量,環(huán)境變量可以用來存儲用戶自定義的信息,例如路徑、變量值等。支持環(huán)境變量05LinuxShell的主要功能如下:Shell簡介05Shell版本Shell版本Linux操作系統(tǒng)中有許多不同版本的Shell,包括BourneShell、CShell、KornShell、Bash等。Bash是常用的Shell,廣泛用于各種Linux操作系統(tǒng)。它由BillJoy(比爾·喬伊)在1978年開發(fā),是一種對sh的改進版本,提供了更豐富的功能和更方便的語法。csh具有C語言風格的語法,并且與sh不兼容。CShellBash是GNU項目對sh的重新實現(xiàn),BrianFox(布賴恩·??怂梗┖虲hetRamey(切特·雷米)是Bash的主要作者。Bash是許多UNIX和Linux操作系統(tǒng)的默認Shell。Bash它由貝爾實驗室的DavidKorn(戴維·科恩)在1983年開發(fā),是一種對sh的改進版本,在保持與sh兼容的同時,提供了更豐富的功能和更方便的語法。KornShell它由SteveBourne(史蒂夫·伯恩)在1977年開發(fā),是UNIX操作系統(tǒng)的標準Shell之一。sh提供一組命令用于執(zhí)行系統(tǒng)任務、編寫腳本等。sh是Linux操作系統(tǒng)中最基礎的命令解釋器之一。BourneShell謝謝初識Shell腳本任務2:創(chuàng)建和執(zhí)行Shell腳本

目錄/Contents010203Shell腳本基本格式Shell注釋執(zhí)行Shell腳本01Shell腳本基本格式Shell腳本基本格式在計算機領域中,Shebang或hashbang(#!代碼的英文發(fā)音)是一個由井號和嘆號構成的字符序列#!,其出現(xiàn)在文本文件第一行的前兩個字符位置,它用于告訴操作系統(tǒng)使用哪個解釋器。文件中存在Shebang的情況下,類UNIX和Linux操作系統(tǒng)的程序載入器會分析Shebang后的內容,將這些內容作為解釋器指令,調用該指令,并將載有Shebang的文件路徑作為該解釋器的參數。Shebang是一項操作系統(tǒng)特性,可用于任何解釋型語言,如Shell、Python、Perl等。在Shell腳本中,#!/bin/bash這一行指定了腳本的解釋器為/bin/bash,腳本文件在執(zhí)行時會實際調用/bin/bash程序,這行內容也是Shell腳本的標準起始行。01LinuxShell腳本是一種在Linux操作系統(tǒng)中用Shell編寫和運行的程序。Shell腳本由一系列Shell命令和語句組成,可以完成各種復雜的操作。例如,可以編寫Shell腳本來自動備份文件、安裝軟件、批量執(zhí)行命令等。02Shell腳本基本格式Shell腳本可以用來自動執(zhí)行任務、執(zhí)行重復性操作、管理系統(tǒng)或應用程序等。Shell命令是指Shell支持的各種命令,如cd、ls、echo等。學習Shell編程時,需要了解這些命令的用法和參數,以便使用它們來控制操作系統(tǒng)和運行程序。在Shell中,有兩種類型的命令:內置命令和外置命令。Shell腳本基本格式通常,內置命令的執(zhí)行效率比外置命令高,因為它們不需要調用外部程序。但是,外置命令提供了更多的功能和更多的選項,也更常用。在Linux操作系統(tǒng)中,type命令用于查詢命令的類型,可以顯示指定命令是內置命令還是外置命令,或者是別名、關鍵字等信息。例如,可以使用type命令來查看一個命令是內置命令還是外置命令。[opencloud@server~]$typecd

cdisashellbuiltin

[opencloud@server~]$typels

lsis/bin/ls

Shell腳本基本格式Shell語法是指Shell編程語言的語法規(guī)則,包括變量、流程控制、函數等方面的語法。學習Shell編程需要掌握Shell語法,這樣才能編寫有效的Shell腳本。編寫Shell腳本有許多方法,常見的方法就是使用文本編輯器。Linux操作系統(tǒng)中通常使用vi、vim文本編輯器。在文本編輯器中輸入腳本內容,并使用.sh或.bash作為文件擴展名保存腳本。下面是一個簡單的Shell腳本的基本結構。在Shell腳本中,#!/bin/bash這一行指定了腳本的解釋器為/bin/bash,腳本文件在執(zhí)行時會實際調用/bin/bash程序,這行內容也是Shell腳本的標準起始行。#!/bin/bashcat<<EOFThisisacommentlineThisisalsoacommentlineEOF#echo"helloworld"echo"helloworld"02Shell注釋Shell注釋Shell腳本中的注釋以#開頭,后面為注釋內容。可以在Shell腳本的任何位置添加注釋,注釋會被解釋器忽略,不會影響腳本的執(zhí)行。下面是一個帶有注釋的Shell腳本。#!/bin/bash#Thisisacomment.#Thisscriptprints"Hello,World!"echo"Hello,World!"#Thislineisacommentandwillnotbeexecuted.Shell注釋在Shell腳本中使用注釋可以幫助用戶更好地理解腳本的功能,并使腳本更易于維護。在Shell腳本中,可以使用以下方法來注釋多行語句。#Thisisacommentline#Thisisalsoacommentline#Thisisyetanothercommentlinecat<<EOFThisisacommentlineThisisalsoacommentlineThisisyetanothercommentlineEOF#在這個腳本中,<<EOF和EOF之間的內容都會被視為注釋,不會被解釋器執(zhí)行。使用<<將多行語句封裝在一對字符串中。使用#字符在每行的開頭注釋。在每行的開頭添加#字符可以將整行注釋掉。03執(zhí)行Shell腳本執(zhí)行Shell腳本在使用任何方法執(zhí)行腳本之前,需要確保腳本文件具有可執(zhí)行權限。如果腳本文件名為myscript.sh,可以使用chmod+xmyscript.sh命令為腳本文件賦予可執(zhí)行權限。在終端中可以使用絕對路徑或相對路徑來執(zhí)行腳本。例如,如果腳本文件名為myscript.sh,可以使用以下方法執(zhí)行腳本。在終端中使用相對路徑執(zhí)行腳本時,需要將命令行的路徑切換到腳本目錄,腳本文件應位于當前目錄中,以“./文件名”的方式執(zhí)行腳本。[opencloud@server~]$bash/path/to/myscript.sh[opencloud@server~]$pwd/path/to/[opencloud@server~]$lsmyscript.sh[opencloud@server~]$./myscript.sh謝謝初識Shell腳本任務3:控制命令的輸入和輸出信息目錄/Contents01020304文件描述符輸入輸出重定向與管道符特殊文件/dev/null和/dev/zeroEOF特殊字符01文件描述符文件描述符在Linux系統(tǒng)中,文件描述符用于唯一標識并追蹤系統(tǒng)中的一個打開的文件、管道、網絡連接或其他輸入/輸出資源。操作系統(tǒng)通過文件描述符來管理所有的資源訪問,這包括讀寫操作,使文件描述符成為程序與資源交互的核心。文件描述符的應用非常廣泛,例如,在大多數Linux系統(tǒng)中,標準輸入、標準輸出和標準錯誤默認被分配到文件描述符0、1和2。此外,當程序打開文件或創(chuàng)建網絡套接字時,系統(tǒng)分配的文件描述符使得后續(xù)的所有操作(如數據讀取和發(fā)送)都通過這些描述符進行。文件描述符的管理由操作系統(tǒng)負責,確保在程序結束時關閉所有打開的描述符。程序也可以顯式關閉文件描述符以釋放資源。此外,操作系統(tǒng)對每個進程可用的文件描述符數量有限制,這可以通過系統(tǒng)設置或動態(tài)調整,超出限制將導致打開文件或套接字操作失敗。文件描述符在Linux系統(tǒng)中設備文件和文件描述符的關系及其工作流程,具體步驟如下:設備注冊(Devicesregister):圖中藍色箭頭指向鍵盤和顯示器,表明這些設備通過內核注冊,因此它們被系統(tǒng)賦予了文件接口。在Unix系統(tǒng)中,大多數設備都通過特殊的文件在文件系統(tǒng)中被表示,這些特殊文件通常位于/dev目錄下。打開文件(Openingthefile):圖中綠色箭頭展示了使用open函數打開一個設備文件(例如,光驅/dev/sr0),系統(tǒng)將會返回一個文件描述符。這個過程涉及系統(tǒng)調用,該調用返回一個與設備文件相關聯(lián)的文件描述符(一個整數值),此后對文件的操作都會使用這個描述符。文件描述符引用(Furtherreferences):圖中紅色箭頭表示進一步的對文件描述符的引用(如讀取和寫入操作)將被內核路由到對應的設備上。當執(zhí)行如read函數這樣的系統(tǒng)調用時,你會通過文件描述符來指定要操作的設備,然后系統(tǒng)將數據從設備傳送到程序中(或反之)。02輸入輸出重定向與管道符輸入輸出重定向與管道符在Linux操作系統(tǒng)中,標準輸入通常是指鍵盤,標準輸出通常是指屏幕,標準錯誤輸出通常也是指屏幕。通過使用輸入輸出重定向可以改變命令的輸入或輸出的來源或目的地,進而改變命令的輸入或輸出方式。重定向可以讓命令行中執(zhí)行的命令從標準輸入或標準輸出轉移到其他位置。在實際的命令行操作中,這種機制常通過|符號表示,例如command1|command2,其中command1的輸出會成為command2的輸入。這使得用戶可以組合多個簡單命令來執(zhí)行復雜的任務。Linux系統(tǒng)中程序默認打開的三個標準文件:標準輸入、標準輸出和標準錯誤。文件描述符StandardInput:代表標準輸入(stdin),其文件描述符是0。標準輸入通常來自鍵盤,是程序讀取輸入的主要途徑。StandardOutput:代表標準輸出(stdout),其文件描述符是1,標準輸出是程序正常輸出的去向,通常指的是顯示在屏幕上的文本。StandardError:代表標準錯誤輸出(stderr),其文件描述符是2。當程序需要輸出錯誤消息或警告時,它們通常會被發(fā)送到這個文件,即使標凘輸出被重定向到別處,錯誤消息通常仍然會顯示在屏幕上。Linux進程和管道(pipeline)之間的關系如下圖所示:左側:我們看到一個進程,它有標準輸入(stdin)、標準輸出(stdout)和標準錯誤(stderr),分別對應文件描述符0、1和2。此外,也有其他的文件描述符,從3開始,用于打開更多文件。右側:另一個進程也具有stdin、stdout和stderr,也有可能打開更多的文件描述符。管道(Pipeline):位于兩個進程之間,表示數據從左側進程的標準輸出被傳送到右側進程的標準輸入。這是Linux中進程間通信的一種常用方式,允許一個進程的輸出直接作為另一個進程的輸入。文件描述符輸入輸出重定向與管道符ls>output.txt此命令會將ls命令的輸出寫入文件output.txt。如果文件不存在,則會創(chuàng)建文件;如果文件已存在,則會覆蓋文件中的內容。使用>符號將輸出重定向到文件中l(wèi)s|greptxt此命令會將ls命令的輸出傳遞給grep命令,然后grep命令會搜索輸入中的txt字符串。這樣就可以通過兩個命令的結合來實現(xiàn)更復雜的功能。使用管道符將輸出傳遞給其他命令ls>>output.txt此命令會將ls命令的輸出追加到文件output.txt的末尾,之前已經存在的內容不會被覆蓋。使用>>符號將輸出追加到文件末尾sort<input.txt此命令會將文件input.txt中的內容作為sort命令的輸入。使用<符號將輸入重定向到文件中在Linux操作系統(tǒng)中,可以使用>和<符號來實現(xiàn)輸入輸出重定向。具體來說,<符號可以將標準輸入重定向到文件中,而>符號可以將標準輸出重定向到文件中。在Linux操作系統(tǒng)中,可以使用管道來實現(xiàn)程序之間的通信。管道是一種特殊的文件,它可以在程序之間傳輸數據。例如,可以使用管道將一個程序的輸出作為另一個程序的輸入。在Linux中,管道符(|)是一種Shell運算符,用于將一個命令的輸出作為另一個命令的輸入。這樣就可以使用多個命令來實現(xiàn)更復雜的功能。輸入輸出重定向與管道符常見的輸入輸出重定向符號和示例:操作符描述示例結果說明<標準輸入重定向command<file將文件file的內容作為command的輸入<<追加標準輸入(Heredocument)command<<END<br>text<br>END將直至遇到END標記之前的所有輸入文本作為command的輸入>標準輸出重定向(覆蓋文件)command>file將command的輸出寫入到file,如果file存在,則覆蓋>>標準輸出重定向(追加到文件)command>>file將command的輸出追加到file的末尾,不會覆蓋原有內容&>標準輸出和標準錯誤重定向(覆蓋文件)command&>file將command的標準輸出和標準錯誤都重定向到file,覆蓋內容&>>標準輸出和標準錯誤重定向(追加到文件)command&>>file將command的標準輸出和標準錯誤都追加到file的末尾2>標準錯誤重定向(覆蓋文件)command2>file將command的標準錯誤輸出重定向到file,覆蓋內容2>>標準錯誤重定向(追加到文件)command2>>file將command的標準錯誤輸出追加到file的末尾2>&1將標準錯誤重定向到標準輸出command>file2>&1將command的標準輸出和標準錯誤合并后重定向到file03特殊文件/dev/null和/dev/zero特殊文件/dev/null/dev/zero在Linux操作系統(tǒng)中,字符類型的文件通常為設備文件。設備文件是指表示輸入輸出設備的特殊文件,它們不存儲數據,而是存儲特定的信息,這些信息對應設備的輸入輸出。字符類型的文件可以用于表示如終端、串行端口、打印機等設備。與普通文件不同的是,設備文件的內容由設備本身的特性決定。設計字符類型文件的目的是方便系統(tǒng)管理員和程序員通過文件系統(tǒng)調用來操作設備,為其他程序提供某些特定的輸入或輸出操作,而不必直接和設備打交道。特殊文件/dev/null/dev/zero/dev/null/dev/null是一個特殊的字符類型文件,也被稱為“黑洞文件”,寫入它的內容都會被丟棄,并且讀取它時會返回空,通常用于丟棄不需要的輸出或者忽略不需要的輸入,即丟棄不需要的數據。/dev/null常被用來作為命令的輸出或者輸入的“垃圾桶”,可以起到清空或忽略命令的輸出的作用。如command>/dev/null會靜默執(zhí)行命令,不在控制臺上顯示任何輸出。/dev/zero/dev/zero是一個特殊的設備文件,它可以產生無限的空字符(即0值字節(jié))。/dev/zero在被讀取時會提供無限的空字符,其典型用法包括用它提供的字符流來覆蓋信息,以及產生一個特定大小的空白文件。特殊文件/dev/null/dev/zero創(chuàng)建一個名為file.bin、大小為1MB的文件:ddif=/dev/zeroof=file.binbs=1Mcount=1使用以下命令將命令的輸出重定向到/dev/null:echo"Thismessagewillbediscarded">/dev/null

忽略命令的輸出信息command2>/dev/null

忽略命令的錯誤信息,/dev/null通常用于丟棄不需要的輸出ls-l/non-existent-dir2>/dev/null使用2>/dev/null進行輸出重定向,表示將標準錯誤輸出重定向到/dev/null,這樣就可以忽略ls命令的錯誤輸出04EOF特殊字符EOF特殊字符EOF(EndofFile,文件結束標志)是一個特殊的字符串,表示文件的末尾或者輸入流的結束,可以作為一種特殊的輸入重定向符號,通常用來將多行文本傳遞給命令,而不用將文本保存到文件中。在Shell腳本中,EOF常用于在腳本中嵌入多行文本,而不需要使用多個echo命令或使用其他文件來存儲文本。EOF可以用在以下場景中:從標準輸入中讀取多行文本、將多行文本輸出到文件中、將多行文本追加到文件中、將多行文本作為參數傳遞給命令。EOF特殊字符使用下面的命令將多行文本輸入cat命令:cat<<EOF>>eof-stdin.txtThisisline1Thisisline2Thisisline3EOF#查看eof-stdin.txt文件內容cateof-stdin.txtThisisline1Thisisline2Thisisline3在上面的命令中,EOF前面的<<是輸入重定向符號,表示從這里開始的輸入都將被重定向到cat命令,>>eof-stdin.txt表示將輸入的內容輸出到eof-stdin.txt文件中。注意:最后的EOF必須獨占一行,且前面不能有任何字符。EOF特殊字符若在腳本中包含一個SQL(StructureQueryLanguage,結構查詢語言)語句,可以使用EOF來嵌入該語句:mysql-uusername-ppassword<<EOFUSEmydatabase;SELECT*FROMmytable;EOF這個腳本會打開MySQL命令行工具,并使用用戶名和密碼登錄數據庫,然后在mydatabase數據庫中執(zhí)行SELECT語句,輸出mytable表中的所有數據。謝謝初識Shell腳本項目4:數據輸入輸出目錄/Contents010203echo命令printf命令read命令01echo命令echo命令echo是一個常用的Shell命令。它的主要功能是輸出字符串,可以將指定的文本字符串輸出到標準輸出(默認是屏幕),也可以用于輸出提示信息、調試信息、結果信息等。echo命令基本語法如下:echo[options]string序號命令選項描述1-n不輸出換行符,繼續(xù)在當前行輸出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."#執(zhí)行腳本,輸出結果如下[opencloud@server~]$bashecho.shMynameisJohn,Iam18yearsold.使用以下命令輸出帶有轉義字符的字符串,例如:在腳本中,使用echo命令輸出變量的值,例如:echo命令在Shell中,echo命令支持一些常見的轉義符,可以用來輸出特殊字符。在使用轉義符時,將字符串放在雙引號之內。echo命令支持的轉義符如下表所示。序號轉義符含義1\反斜線2\b輸出退格字符(刪除字符)3\c不換行輸出字符串,繼續(xù)在當前行輸出4\f輸出換頁符5\n輸出換行符6\r輸出回車符(回到行首)7\t輸出水平制表符8\v輸出垂直制表符9\e通常用于表示ANSI轉義碼,以便在終端中設置文本的顏色、樣式echo命令使用echo命令和常見轉義字符的一些示例:#使用echo命令不換行輸出字符串,繼續(xù)在當前行輸出[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"Whatisyourname?"nameecho"Hello,$name"執(zhí)行腳本:[opencloud@server~]$bashread.shWhatisyourname?#在命令行中輸入tomjerry并按Enter鍵Hello,tomjerryread命令在這個示例中,腳本會輸出一行提示,詢問用戶的名字。然后,腳本將等待用戶輸入名字,并將輸入的值賦給變量name。最后,腳本將輸出一行提示。使用read命令,向用戶詢問密碼,并隱藏其輸入的內容:[opencloud@server~]$read-sp"Enteryourpassword:"passwordEnteryourpassword:#輸入任何字符串,不會顯示在屏幕上[opencloud@server~]$read-n1-p"Enteranumber:"numberEnteranumber:1在這個示例中,腳本會輸出一行提示,詢問用戶輸入密碼。然后,腳本將等待用戶輸入密碼,輸入的內容將被隱藏。最后,輸入的值被賦給變量password。使用read命令,向用戶詢問數字,只讀取一個字符:在這個示例中,腳本會輸出一行提示,詢問用戶輸入數字。然后,腳本將等待用戶輸入一個字符,并將輸入的值賦給變量number。謝謝初識Shell腳本項目5:Shell變量目錄/Contents010203定義和調用變量預設位置參數變量查看環(huán)境變量04設置環(huán)境變量01定義和調用變量變量名01變量名是變量的唯一標識,通常是一個字母或下畫線開頭的字符序列,例如name、age、_score等。變量類型02在Shell中,變量可以存儲任何類型的數據,例如整數、浮點數、字符串、布爾值等。變量值03變量值是指變量當前存儲的數據。在Shell中,變量值可以通過賦值語句來修改。變量作用域04變量作用域是指變量的有效范圍。在Shell中,變量可以被定義為全局變量或局部變量。全局變量是指在整個Shell會話中都有效的變量。定義和調用變量05在定義變量時,變量名和變量值之間需要使用等號(=)連接,變量名與等號之間不能有空格。在調用變量時,變量名需要使用$符號引用。在編程語言中,變量是一種存儲數據的容器。它可以用來保存各種類型的數據,例如數字、字符串、布爾值等。在Shell中,變量也是一種存儲數據的容器,它有著與其他編程語言中的變量類似的基本概念,主要包括以下內容。定義和調用變量定義和調用變量

Shell中主要的變量類型:序號變量類型描述1字符串變量用戶自定義變量,用于存儲字符串數據的變量,可以使用單引號或雙引號來指定字符串2數值變量用戶自定義變量,用于存儲數字數據的變量,可以使用整數或浮點數3數組變量用戶自定義變量,用于存儲多個值的變量,每個值稱為數組元素。數組變量是用來存儲一個有序列表(list)的變量。數組元素可以通過一個整數索引來訪問,索引從0開始4環(huán)境變量系統(tǒng)級別的變量,用于存儲系統(tǒng)的配置信息。主要的環(huán)境變量有HOME、PATH、PS1、PS2等5路徑變量用于存儲文件路徑的環(huán)境變量,即存儲可執(zhí)行文件的搜索路徑的變量6預設變量Shell內置的變量,例如$0、$1、$*、$@、$?、$!等。這些變量在Shell中已經定義好,不需要用戶手動定義定義和調用變量在Shell中,可以使用賦值語句來定義變量。賦值語句的格式如下:#定義字符串變量name="JohnSmith"#定義數值變量age=30#定義數值變量fruits=("apple""banana""orange")#定義浮點數變量HEIGHT=1.75#定義布爾值變量IS_ADMIN=true下面是在Shell中定義變量的幾個示例:varname=varvalue其中,varname表示變量名,varvalue表示變量值。定義和調用變量一些特殊的變量,例如$0、$1等,是由Shell自動賦值的,用于存儲特定的信息。例如,$0變量存儲的是腳本的文件名,$1變量存儲的是腳本的第一個參數。在Shell中,要訪問變量的值,可以使用$varname的形式,即在變量名前面加上符號“$”。例如:#定義字符串變量NAME="JohnSmith"#訪問變量的值echo"Nameis$NAME"#輸出:NameisJohnSmith定義和調用變量如果變量名中包含其他字符和特殊字符,或者變量名和其他文本混合在一起,需要使用花括號“{}”來指定變量名。例如:#定義字符串變量NAME="John"#訪問變量的值echo"Nameis${NAME}_Smith"#輸出:NameisJohn_Smith定義和調用變量如果不使用花括號,等號右邊的字符會被當作變量的一部分,從而導致錯誤。例如:#定義字符串變量name="John"#使用變量echo"Hello,$name_Doe!"#輸出:Hello,!在這種情況下,變量名后面的_Doe被當作變量的一部分,因此會返回空字符串。因此,在使用變量時,如果變量名后面跟有其他字符或者變量名組成的字符串,通常需要使用花括號來指明變量名的邊界。定義和調用變量在使用變量的特殊語法時,也需要使用花括號。例如,在使用${var:pos}和${var:pos:len}的形式訪問變量值的子字符串時,需要使用花括號,其中,var是變量的名稱,pos是起始位置的偏移量,表示從變量值的第pos個字符開始,返回變量值的子字符串,len是子字符串的長度,表示從變量值的第pos個字符開始,返回長度為len的子字符串。例如:注意,如果pos或len超出了變量值的長度范圍,將返回空字符串。#定義字符串變量name="John"#調用變量,從字符串變量name的第二個字符(由0開始計數)開始,截取到字符串的末尾echo"${name:1}"輸出:ohn#定義字符串變量name="John"#調用變量,從字符串變量name的第二個字符(由0開始計數)開始截取,截取長度為2echo"${name:1:2}"#輸出:oh02預設位置參數變量預設位置參數變量在Shell中,有許多系統(tǒng)預設變量,可以方便地用于訪問系統(tǒng)信息和執(zhí)行狀態(tài)。其中,位置參數變量主要用來向腳本中傳遞參數或數據,其變量名不能自定義,變量作用也是固定的。常見的系統(tǒng)預設位置參數變量如表:序號位置參數變量描述1$0腳本文件名2$1—$9腳本前9個位置參數3$#傳遞給腳本的參數數量4$@腳本的命令行參數的數組5$*腳本的命令行參數的字符串6$?上一個命令的退出狀態(tài)7$$當前Shell進程的進程ID8$!后臺運行的最后一個進程的PID(ProcessIdentifier,進程控制符)03查看環(huán)境變量查看環(huán)境變量在Linux操作系統(tǒng)中,環(huán)境變量是一種特殊的變量,它們用于存儲系統(tǒng)的配置信息。環(huán)境變量是系統(tǒng)級別的變量,它們可以在整個系統(tǒng)中使用,并且在用戶的會話中也可以使用。環(huán)境變量通常用于存儲系統(tǒng)路徑、可執(zhí)行文件的名稱、用戶名等信息。系統(tǒng)預設環(huán)境變量的命名規(guī)則通常是采用全大寫字母。常見的系統(tǒng)預設環(huán)境變量如表所示。序號環(huán)境變量描述1HOME當前用戶的家目錄路徑2PATH可執(zhí)行文件的搜索路徑3SHELL當前使用的Shell的路徑4USER當前用戶的用戶名5LANG系統(tǒng)的默認語言環(huán)境6PWD當前工作目錄的路徑7HOSTNAME主機名8PS1系統(tǒng)提示符9TERM終端類型10HISTFILE歷史命令記錄文件的路徑11HISTSIZE歷史命令記錄文件的大小12MACHTYPE系統(tǒng)的硬件架構和操作系統(tǒng)類型x86_64-redhat-linux-gnu01使用printenv命令查看系統(tǒng)中所有的環(huán)境變量。[opencloud@server~]$printenv02使用echo命令查看某個特定的環(huán)境變量的值。#查看HOME環(huán)境變量的值[opencloud@server~]$echo"$HOME“/home/opencloud#查看LANG環(huán)境變量的值[opencloud@server~]$echo"$LANG"en_US.UTF-803使用env命令查看當前進程的環(huán)境變量。[opencloud@server~]$env04使用set命令查看當前Shell的所有變量,包括環(huán)境變量和Shell變量。[opencloud@server~]$set05使用cat/proc/PID/environ命令查看某個進程的環(huán)境變量。#查看進程9750的環(huán)境變量[opencloud@server~]$cat/proc/9750/environ在Linux操作系統(tǒng)中,可以使用以下方法查看環(huán)境變量定義和調用變量04設置環(huán)境變量設置環(huán)境變量在Shell中,export命令用于將變量設置為環(huán)境變量,設置的環(huán)境變量可以在整個系統(tǒng)中使用,并且在用戶的會話中也可以使用。export命令的基本語法如下:

export[變量名]=[變量值]使用export命令設置環(huán)境變量及其查看驗證方法,如下:(1)使用等號賦值。例如:[opencloud@server~]$exportNAME="John"[opencloud@server~]$exportMYHOME="/home/john“注意:在Shell中,環(huán)境變量通常使用大寫字母。(2)使用echo命令查看環(huán)境變量的值。例如:[opencloud@server~]$echo$NAMEJohn[opencloud@server~]$echo$MYHOME/home/john設置環(huán)境變量(3)使用環(huán)境變量的當前值。例如:[opencloud@server~]$echo$PATH/home/opencloud/.local/bin:/home/opencloud/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/openssh/bin:/usr/local/sbin[opencloud@server~]$exportPATH=$PATH:/usr/local/bin[opencloud@server~]$echo$PATH#查看PATH環(huán)境變量輸出結果/home/opencloud/.local/bin:/home/opencloud/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/openssh/bin:/usr/local/sbin:/usr/local/bin#export命令將/usr/local/bin目錄添加到系統(tǒng)路徑中export命令設置的環(huán)境變量只對當前Shell有效,在關閉Shell后將失效。如果想永久設置環(huán)境變量,建議在配置文件中設置。例如在/etc/profile或~/.bash_profile~/.bashrc等配置文件中設置。設置環(huán)境變量使用export命令在~/.bashrc文件中設置MYVAR環(huán)境變量,可以使用以下命令:在修改環(huán)境變量所在配置文件之后,需要重新登錄系統(tǒng)或在命令行中使用source命令來使配置生效。source命令的主要作用是加載并執(zhí)行配置文件。使用source命令加載配置文件的好處是,可以在當前Shell中使修改立即生效,而不需要重新打開一個新的Shell。[opencloud@server~]$echo"exportMYVAR=123">>~/.bashrc~表示當前用戶的家目錄,export命令會將exportMYVAR=123添加到~/.bashrc文件的末尾,從而設置MYVAR環(huán)境變量。設置環(huán)境變量使用source命令,讓~/.bashrc文件中設置的MYVAR環(huán)境變量生效:此外,也可以使用source命令加載系統(tǒng)級別的配置文件。這樣,在/etc/bashrc文件中定義的環(huán)境變量、別名等就可以在當前的Shell中使用了。[opencloud@server~]$source~/.bashrc查看MYVAR環(huán)境變量的值:[opencloud@server~]$echo"$MYVAR"#輸出:123[opencloud@server~]$source/etc/bashrc設置環(huán)境變量在Linux操作系統(tǒng)中,環(huán)境變量可以存儲在多個文件中。下面是常見的存儲環(huán)境變量的文件。(1)/etc/environment:系統(tǒng)級別的文件,可以存儲所有用戶的環(huán)境變量。(2)/etc/profile:系統(tǒng)級別的文件,適用于所有用戶,在系統(tǒng)啟動時加載,可以存儲全局的環(huán)境變量。(3)/etc/bashrc:文件系統(tǒng)級別的Bash配置文件,通常用于設置Bash的默認行為。(4)~/.bashrc:用戶級別的文件,在登錄系統(tǒng)時加載,可以存儲用戶的環(huán)境變量。(5)~/.bash_profile:用戶級別的文件,在登錄系統(tǒng)時加載,可以存儲用戶的環(huán)境變量。(6)~/.bash_login:用戶級別的文件,在登錄系統(tǒng)時加載,可以存儲用戶的環(huán)境變量。(7)~/.bash_logout:用戶級別的文件,在退出登錄系統(tǒng)時加載,可以存儲用戶的環(huán)境變量。如果想修改系統(tǒng)級別的環(huán)境變量,建議修改/etc/profile文件。如果想修改Bash的默認行為,建議修改/etc/bashrc文件。謝謝初識Shell腳本項目6:轉義符目錄/Contents01020304反斜杠反引號雙引號單引號01反斜杠01轉義序列通常有兩種功能。第一種功能是編碼無法用字母表直接表示的特殊數據。第二種功能是表示無法直接通過鍵盤輸入的字符(如回車符)。02本節(jié)說的轉義符就對應第二種功能,即將轉義字符自身和后面的字符看成一個整體,表示某種含義。常見的示例是用反斜線字符“\”作為轉義字符,表示那些不可打印的ASCII控制符。在計算機科學與遠程通信中,當轉義字符放在字符序列中,它將對它后續(xù)的幾個字符進行替代并解釋。通常,判定某字符是否為轉義字符由上下文確定。轉義字符即標志著轉義序列開始的那個字符。反斜杠反斜杠在日常工作中經常會遇到轉義字符,比如我們在Shell中刪除文件,如果文件名中有*號,我們就需要轉義,此時我們能看到,使用了轉義字符后,*號就能放進文件名里了。rmaccess_log*#刪除當前目錄下文件名以access_log開頭的文件rmaccess_log\*#刪除當前目錄下文件名為access_log*的文件printf"Thisisastringwith\"doublequotes\"insideit.\n“#輸出Thisisastringwith"doublequotes"insideit.在雙引號中又使用雙引號,這時候就需要轉義,轉義之后才能正常表示雙引號,否則會報語法錯誤。比如下面的示例,雙引號中的“doublequotes”也有雙引號。反斜杠轉義符“\”是一個特殊字符,用于改變一些字符的含義。例如,可以使用轉義符來輸出特殊字符,或者將特殊字符視為普通字符。在Shell中有很多元字符,如果要查找星號(*)、加號(+)、問號(?)本身,而不是元字符,這時候就需要對其進行轉義。常見的轉義符如下表所示。序號轉義符描述1\轉義字符2\\代表一個反斜線字符3\’代表一個單引號字符4\”代表一個雙引號字符5\n換行符,將當前位置移到下一行開頭6\r回車符,將當前位置移到本行開頭7\t水平制表符(跳到下一個制表位)8\v垂直制表符

溫馨提示

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

評論

0/150

提交評論