国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Shell腳本——編程規(guī)范與echo命令

這篇具有很好參考價值的文章主要介紹了Shell腳本——編程規(guī)范與echo命令。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

目錄

一.Shell腳本編程概述

1.基本概念

2.作用

3.Linux系統(tǒng)中常見的Shell腳本種類

4.應用場景

5.問題補充

5.1 為什么系統(tǒng)上合法的Shel1要寫入/etc/she1ls這個文件?

5.2 用戶什么時候可以取得shell來工作?用戶默認會取得哪一個shell?

二.Shell腳本的構成規(guī)范

三.?Shell腳本的執(zhí)行

1.腳本執(zhí)行邏輯

2.Shell腳本的執(zhí)行方法

3.腳本錯誤調試

四.重定向與管道符

1.交互式硬件設備標準輸出輸入

2.重定向具體操作

? ? ? ? ?3.管道符

3.1 使用管道符修改密碼

3.2?查看文件內容

五.echo命令:打印輸出內容


一.Shell腳本編程概述

1.基本概念

  • 將要執(zhí)行的命令按順序保存到一個文本文件;

  • 給該文件可執(zhí)行權限;

  • 可結合各種Shell控制語句以完成更復雜的操作。

2.作用

Linux 系統(tǒng)中的 Shell 是一個特殊的應用程序,它介于操作系統(tǒng)內核與用戶之間,充當 了一個“命令解釋器”的角色,負責接收用戶輸入的操作指令(命令)并進行解釋,將需要執(zhí) 行的操作傳遞給內核執(zhí)行,并輸出執(zhí)行結果。 常見的 Shell 解釋器程序有很多種,使用不同的 Shell 時,其內部指令、命令行提示符 等方面會存在一些區(qū)別。

3.Linux系統(tǒng)中常見的Shell腳本種類

通過/etc/shells 文件可以了解當前Linux系統(tǒng)所支持的 Shell 腳本種類。

Shell腳本——編程規(guī)范與echo命令

  • bash:基于gun的框架下發(fā)展的shell(/bin/bash)是目前大多數(shù)Linux 版本采用的默認shell
  • csh:類似c語言的shell
  • tcsh:整合了csh提供了更多功能
  • sh:已經被bash替換
  • nologin:讓用戶無法登錄

注: bash ( /bin/bash) 是目前大多數(shù)Linux版本采用的默認Shell。

4.應用場景

  • 重復性操作
  • 交互性任務
  • 批量事務處理
  • 服務運行狀態(tài)監(jiān)控
  • 定時任務執(zhí)行

5.問題補充

5.1 為什么系統(tǒng)上合法的Shel1要寫入/etc/she1ls這個文件?

? ? 因為系統(tǒng)某些服務運行過程中,會去檢查用戶能夠使用的Shell,而這些shell的查詢就是借由/etc/shells這個文件。

5.2 用戶什么時候可以取得shell來工作?用戶默認會取得哪一個shell?

? ? ?當用戶登錄的時候,系統(tǒng)就會給我一個shell讓我來用,而這個登錄取得的Shell就記錄在/etc/passwd這個文件內

二.Shell腳本的構成規(guī)范

編寫腳本代碼

  • 使用vi或者vim編輯器,一般都是使用vim編輯器
  • 每行一條Linux命令,按執(zhí)行順序一次編寫
vim 1.sh					#使用vim編輯器編寫shell腳本
#!/bin/bash					#腳本解釋器聲明
#輸出hello zhuzi		    #注釋
echo "hello zhuzi"			#linux命令
  • 腳本申明(解釋器):第一行開頭“#!/bin/bash”,表示此行以下的代碼語句是通過/bin/bash程序來解釋執(zhí)行。#!/bin/bash為默認的解釋器,其他類型的解釋器如#!/bin/python? #!/bin/expect
  • 注釋信息:以#開頭的語句表示為注釋信息
  • 可執(zhí)行語句:比如echo命令用于輸出"? "之間的字符串

Shell腳本——編程規(guī)范與echo命令

三.?Shell腳本的執(zhí)行

1.腳本執(zhí)行邏輯

  • 順序執(zhí)行:程序按從上到下順序執(zhí)行
  • 選擇執(zhí)行:程序執(zhí)行過程中,根據條件的不同,進行選擇不同分支繼續(xù)執(zhí)行
  • 循環(huán)執(zhí)行:程序執(zhí)行過程中需要重復執(zhí)行多次某段語句

2.Shell腳本的執(zhí)行方法

#法一:指定路徑的命令,要求文件必須有x權限
[root@localhost ~]#chmod +x /root/first.sh 
[root@localhost ~]#cd /root/
[root@localhost ~]#./first.sh 
當前目錄位于:
/root
 
#法二:指定Shell來解釋腳本,不要求文件必須有x權限。
[root@localhost ~]#bash first.sh 
當前目錄位于:
/root
 
#法三:source 與 . 腳本路徑執(zhí)行shell腳本
[root@localhost ~]#source first.sh 
當前目錄位于:
/root

#法四:將腳本文件放入$PATH中目錄的其中一個目錄,直接輸入腳本名
echo $PATH
/usr/local/sbin:/usr/local/bin :/usr/sbin :/usr/bin: / rpot/bin

#法五:自己創(chuàng)建一個路徑(將腳本文件所在的絕對路徑添加至PATH中)
在/etc/profile文件最后添加:export PATH=$PATH:腳本所在的絕對路徑
直接輸入腳本名執(zhí)行腳本

2.1?方法一:指定路徑的命令,要求文件必須有 x(可執(zhí)行)權限

chmod +x /root/1.sh					#給腳本添加可執(zhí)行權限
指定絕對路徑: /root/1.sh 			
指定相對路徑: ./1.sh

Shell腳本——編程規(guī)范與echo命令

2.2?方法二:指定shell來解釋腳本,不要求文件必須有 x (可執(zhí)行)權限

bash(sh)執(zhí)行腳本, 系統(tǒng)會創(chuàng)建一個子shell環(huán)境,并在這個子shell環(huán)境中執(zhí)行這個腳本 ,腳本執(zhí)行結束后系統(tǒng)就會自動退出bash環(huán)境

Shell腳本——編程規(guī)范與echo命令

2.3 方法三:?source 與 . 腳本路徑執(zhí)行shell腳本(不建議使用)

?不建議使用source 與 . 執(zhí)行腳本會在當前 shell 環(huán)境中執(zhí)行腳本 影響當前環(huán)境

Shell腳本——編程規(guī)范與echo命令

2.4 方法四:?將腳本文件放入$PATH中目錄的其中一個目錄,直接輸入腳本名執(zhí)行

echo $PATH
/usr/local/sbin:/usr/local/bin :/usr/sbin :/usr/bin: / rpot/bin

以下兩個目錄一般放自己創(chuàng)建或第三方應用程序生成的命令文件

  • /usr/local/sbin:只有管理員能執(zhí)行的命令
  • /usr/local/bin :所有用戶能夠執(zhí)行的命令

以下兩個目錄一般放系統(tǒng)自帶或者系統(tǒng)生成的命令文件

  • /usr/sbin :只有管理員能執(zhí)行的命令
  • /usr/bin: 所有用戶能夠執(zhí)行的命令

/ root/bin:不存在

將當前文件做個軟連接放入或者使用cp復制到 /usr/local/bin目錄下
直接輸入腳本名執(zhí)行腳本

  • 使用cp命令

Shell腳本——編程規(guī)范與echo命令

2.5 方法五:自己創(chuàng)建一個路徑(將腳本文件所在的絕對路徑添加至PATH中)

在/etc/profile文件最后添加:export PATH=$PATH:腳本所在的絕對路徑
直接輸入腳本名執(zhí)行腳本

[root@Zhuzi ~]#vim /etc/profile
 
export PATH=$PATH:/root/shell  
#export使環(huán)境變量的值全局環(huán)境下生效,不加export默認在當前環(huán)境變量下生效
 
[root@Zhuzi ~]#source /etc/profile   #刷新配置文件
[root@Zhuzi ~]# echo $PATH           #查看當前路徑
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/root/shell
[root@Zhuzi ~]# chmod +x 1.sh        #給腳本加上執(zhí)行權限
[root@Zhuzi ~]#1.sh                  #輸入腳本名 直接執(zhí)行
hello zhuzi 

3.腳本錯誤調試

腳本錯誤種類

  • 命令錯誤:命令出錯不會影響接下來的命令繼續(xù)
  • 語法錯誤:會影響接下來的命令繼續(xù)
  • 邏輯錯誤:只能自己去篩查代碼的正確

檢查腳本錯誤

  • 檢查語法錯誤:bash -n 腳本名稱 (不在當前目錄下加絕對路徑) ? ?
  • 檢查邏輯錯誤:bash -x 腳本名稱 (不在當前目錄下加絕對路徑) ? ?

總結:腳本錯誤常見的有三種區(qū)別

  • 語法錯誤,會導致后續(xù)的命令不繼續(xù)執(zhí)行,可以用bash -n 檢查錯誤,提示的出錯行數(shù)不一定是準確的
  • 命令錯誤,默認后續(xù)的命令還會繼續(xù)執(zhí)行,用bash -n 無法檢查出來 ,可以使用 bash -x 進行觀察
  • 邏輯錯誤:只能使用 bash -x 進行

四.重定向與管道符

由于Shell腳本“批量處理”的特殊性,其大部分操作過程位于后臺,不需要用戶進行干預,因此要學會提取、過濾執(zhí)行信息變得十分重要,所以我們需要重定向和管道。

1.交互式硬件設備標準輸出輸入

類型 設備文件 文件描述編號 默認設備
標準輸入 /dev/stdin 0 鍵盤
標準輸出 /dev/stdout 1 顯示器
標準錯誤輸出 /dev/stderr 2 顯示器
  • 標準輸入:從該設備接收用戶輸入的數(shù)據

  • 標準輸出:通過該設備向用戶輸出數(shù)據

  • 標準錯誤:通過該設備報告執(zhí)行出錯信息

2.重定向具體操作

重定向就是:不通過標準輸出到屏幕上,輸出到你指定的位置

類型 操作符 用途
重定向輸入 < 從指定的文件讀取數(shù)據,而不是從鍵盤輸入
重定向輸出 > 將輸出結果保存到指定的文件(覆蓋原有內容)
重定向輸出 >> 將輸出結果換行添加在文件尾部
重定向錯誤輸出 2> 將錯誤信息保存到指定的文件(覆蓋原有內容)
重定向錯誤輸出 2>> 將錯誤信息追加到指定的文件中
混合輸出 &> 將標準輸出、標準錯誤的內容保存到同一個文件中

示例1:重定向輸入與輸出修改密碼

Shell腳本——編程規(guī)范與echo命令

示例2:覆蓋追加

#將12345678輸入到文件log.txt中
[root@Zhuzi ~]#echo "12345678" > log.txt
[root@Zhuzi ~]#cat log.txt 
12345678
[root@Zhuzi ~]#
 
#再將112234寫入log.txt中,這個時候會覆蓋原來的數(shù)據
[root@Zhuzi ~]#echo "112234" > log.txt 
[root@Zhuzit ~]#cat log.txt 
112234
[root@Zhuzi ~]#
 
#繼續(xù)將112234寫入log.txt中,使用>>,這個時候會追加原來的數(shù)據
[root@Zhuzi ~]#echo "112234" >> log.txt 
[root@Zhuzit ~]#cat log.txt 
112234
112234

示例3:混合輸出

Shell腳本——編程規(guī)范與echo命令

3.管道符

管道符號 “|”

將左側的命令輸出結果,作為右側命令的處理對象

3.1 使用管道符修改密碼

Shell腳本——編程規(guī)范與echo命令

3.2?查看文件內容

Shell腳本——編程規(guī)范與echo命令

五.echo命令:打印輸出內容

Shell腳本——編程規(guī)范與echo命令

選項 作用
-n 不追加換行
-e \b?? ?退格
\c?? ?抑制更多的輸出
\n?? ?換行

\t?? ?橫向制表符

\v?? ?縱向制表符
  • echo -n

Shell腳本——編程規(guī)范與echo命令文章來源地址http://www.zghlxwxcb.cn/news/detail-450308.html

  • echo -e \b?? ? ? ? ?Shell腳本——編程規(guī)范與echo命令
  • echo -e \c? ? ? ? ??Shell腳本——編程規(guī)范與echo命令
  • echo -e \n? ? ? ? ??Shell腳本——編程規(guī)范與echo命令
  • echo -e \t? ? ? ? ? ?Shell腳本——編程規(guī)范與echo命令
  • ?echo -e \v?? ? ? ??Shell腳本——編程規(guī)范與echo命令

到了這里,關于Shell腳本——編程規(guī)范與echo命令的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

本文來自互聯(lián)網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 【Linux命令行與Shell腳本編程】第十四章,呈現(xiàn)數(shù)據

    【Linux命令行與Shell腳本編程】第十四章,呈現(xiàn)數(shù)據

    第十四章 呈現(xiàn)數(shù)據 1.1,標準文件描述符 文件描述符 縮寫 描述 0 STDIN 標準輸入 1 STDOUT 標準輸出 2 STDERR 標準錯誤 1.1.1,STDIN 標準輸入 1.1.2,STDOUT 標準輸出 1.1.3,STDERR 錯誤輸出 1.2,重定向錯誤 1.2.1.只重定向錯誤 n 1.2.2.重定向錯誤消息和正常輸出 2.1,臨時重定向 2.2,永久重定向 exec 4

    2023年04月25日
    瀏覽(25)
  • 【Linux命令行與Shell腳本編程】第十九章 正則表達式

    【Linux命令行與Shell腳本編程】第十九章 正則表達式

    正則表達式基礎 定義BRE模式 擴展正則表達式 在sed和gawk中創(chuàng)建正則表達式,以得到所需的數(shù)據。 正則表達式是一種可供Linux工具過濾文本的自定義模板,使用元字符來描述數(shù)據流中的一個或多個字符. Linux工具(比如sed或gawk)會在讀取數(shù)據時使用正則表達式對數(shù)據進行模式匹配

    2024年02月13日
    瀏覽(24)
  • 【Linux命令行與Shell腳本編程】第十八章 文本處理與編輯器基礎

    【Linux命令行與Shell腳本編程】第十八章 文本處理與編輯器基礎

    文本處理 學習sed編輯器 sed編輯器基礎命令 gawk編輯器入門 sed編輯器基礎 shell腳本可以將文本文件中各種數(shù)據的日常處理任務自動化Linux中的sed和gawk兩款工具能夠極大地簡化數(shù)據處理任務。 想要即時處理文本文件中的文本,有一個可以自動格式化、插入、修改或刪除文本元素

    2024年02月13日
    瀏覽(16)
  • Linux Shell 腳本編程學習之【第3章 正則表達式 (第二部分) grep命令】

    1、文本搜索工具 2、GREP 是Global search Regular Expression and Print out the line的簡稱,即全面搜索正則表達式并把行打印出來。 3、grep命令的模式十分靈活,可以是字符串,也可以是變量,還可以是正則表達式。模式中包含空格,則必須用雙引號括起來。 選 項 意 義 -c 只輸出匹配行

    2024年02月16日
    瀏覽(18)
  • 【 Linux命令行與Shell腳本編程】第四章 進程管理 ,磁盤統(tǒng)計信息,掛載新磁盤,數(shù)據排序,數(shù)據歸檔

    【 Linux命令行與Shell腳本編程】第四章 進程管理 ,磁盤統(tǒng)計信息,掛載新磁盤,數(shù)據排序,數(shù)據歸檔

    第四章 更多命令 進程管理 磁盤統(tǒng)計信息 掛載新磁盤 數(shù)據排序 數(shù)據歸檔 4.1,監(jiān)測程序 4.1.1,ps 探查進程 4.1.2,top 實時監(jiān)測進程 4.1.3,kill pkill 結束進程 1,kill 命令 2,pkill 命令 4.2,檢測磁盤空間 4.2.1,mount umount掛載存儲設備 1. mount 命令 其他選項 2,umount 命令 4.2.2, df 命令 4.2.3, du 命令

    2023年04月24日
    瀏覽(27)
  • Linux:概述 、安裝 、文件與目錄結構 、vim編輯器 、網絡配置 、遠程登錄 、系統(tǒng)管理 、基礎命令 、軟件包管理 、克隆虛擬機 、shell編程

    Linux:概述 、安裝 、文件與目錄結構 、vim編輯器 、網絡配置 、遠程登錄 、系統(tǒng)管理 、基礎命令 、軟件包管理 、克隆虛擬機 、shell編程

    2.1.1、Linux是什么? Linux是一個操作系統(tǒng)(OS) 所謂的操作系統(tǒng)就是直接用來操作計算機底層硬件的軟件。 2.1.2、Linux的出現(xiàn) 官網: https://www.centos.org/ 進入官網進行下載 有很多的鏡像,以阿里云的為例: 3.3.1、下載 官網: https://www.vmware.com/ 這是下載的企業(yè)版,30天試用期,可

    2024年02月05日
    瀏覽(60)
  • linux shell編程規(guī)范和變量

    linux shell編程規(guī)范和變量

    目錄 一、shell簡述 二、shell腳本 三、重定向 四、管道符 五、變量 六、shell腳本基本知識? 七、預定義變量小實驗 ? ? ? ? ? ? ? ? ? ? ? 一、shell簡述 概念:shell解釋器,翻譯官功能,與內核進行溝通的應用程序。 把代碼翻譯為二進制,讓內核處理,負責接收用戶輸入的操

    2024年02月06日
    瀏覽(24)
  • Linux shell編程學習筆記44:編寫一個腳本,將md5sum命令執(zhí)行結果保存到變量中,進而比較兩個文件內容是否相同

    Linux shell編程學習筆記44:編寫一個腳本,將md5sum命令執(zhí)行結果保存到變量中,進而比較兩個文件內容是否相同

    在? Linux shell編程學習筆記42:md5sum https://blog.csdn.net/Purpleendurer/article/details/137125672?spm=1001.2014.3001.5501 中,我們提到編寫一個在Linux系統(tǒng)下比較兩個文件內容是否相同的腳本。 基本思路是: 其中有兩個難點: 1.文件的md5值的獲取 2.md5值的比較 對于第1個難點,我們的解決辦法是

    2024年04月10日
    瀏覽(27)
  • 【Shell-HDFS】使用Shell腳本判斷HDFS文件、目錄是否存在

    【Shell-HDFS】使用Shell腳本判斷HDFS文件、目錄是否存在

    本文主要講述如何使用 Shell 腳本判斷 HDFS 文件或目錄是否存在,算是一個小技巧吧,這幾天做 distcp 的時候用到的,因為要判斷 HDFS 中是否存在某個目錄。 Shell腳本測試: 1、測試路徑是否存在。 2、測試目錄是否存在。 3、測試文件是否存在。 4、測試路徑大小是否大于0。

    2023年04月24日
    瀏覽(94)
  • 【Shell篇】循環(huán)查找某個目錄的腳本文件并打印運行

    這段代碼是/build/envsetup.sh文件最后一段代碼,搜索了源代碼中所有的vendorsetup.sh腳本。 這句代碼是一個 shell 命令,大致意思是:如果當前目錄中存在名為 device 的目錄,則在該目錄下遞歸查找深度不超過 4 級的所有文件中,名字為 vendorsetup.sh 的文件,并將find結果按照字母順

    2024年02月03日
    瀏覽(21)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包