shell基礎應用

專注的阿熊發表於2020-01-03

一丶什麼是shell?

Shell是在linux你忽然與使用者之間的直譯器程式,通常指的是bash,負責想核心翻譯及傳達使用者/程式指令


Shell的使用方法:


1.互動式執行指令:人工干預,執行效率低.


2.非互動執行指令:安靜地在後臺執行,執行效率高,方便寫指令碼.


cat /etc/shell    檢視本機所有的解釋


yum -y install ksh   安裝新直譯器


bash的優點


tab補齊 別名 快捷鍵 歷史命令 管道 重定向


 


編寫Shell指令碼規範


1.宣告直譯器


    #!/bin/bash


2.註釋,可以說明指令碼功能,變數的作用等


3.執行程式碼


+x許可權


直接使用直譯器執行,使用新直譯器執行(開啟子程式)


使用source(或者 .+空格  )命令執行,使用當前直譯器執行(不開啟子程式)   //source test01.sh


部署yum倉庫指令碼:


#!/bin/bash

#部署yum

echo "[adc]

name=adc

baseurl=

enabled=1

gpgcheck=0" > /etc/yum.repos.d/adc.repo

匯率查詢


部署ftp指令碼:


#!/bin/bash


yum -y install vsftpd &> /dev/null


systemctl restart vsftpd


 systemctl enable vsftpd



常量:固定不變


變數:靈活多變,指令碼多使用變數可以增加效能


變數的種類


1.自定義變數


        變數名稱=變數的值 定義變數值的過程叫做賦值,名稱的定義可以用大小寫字母,數字,下劃線,不能以數字開頭,不能使用特殊符號


a=20  //定義變數


echo $a  //呼叫變數


a1=20


1a=20   //定義失敗


a_1=20


a$=20   //定義失敗


a=40


echo $a RMB


unset a   //取消變數定義


 


環境變數


UID當前使用者的ID  USER當前使用者名稱 SHELL當前使用者的直譯器 HOSTNAME主機名 HOME當前使用者的家目錄 PWD所在目錄的位置 PATH存放命令的位置


PS1一級提示符 PS2二級提示符


 


變數的擴充套件應用


" "界定範圍


' '界定範圍,遮蔽特殊符號


` `反撇號,可以獲取命令執行結果   ==   $(  )


 


stty -echo   //遮蔽回顯


stty echo   //恢復回顯


a=20


export a 區域性變數->全域性變數


export -n a 全域性變數->區域性變數


 


計算


方法一


expr 1   +   1 


expr 1   -   1 


expr 1   /   1 


expr 1   \*   1       1   '*'   1          \轉義符號  遮蔽之後一個字元的特殊含義


expr 5   %   2   >>>>  1  求模,取餘數


方法二


echo $[ 1+1]


echo$[a+a]


方法三


let 運算結果不顯示,通常用於使用運算結果定義變數的值,或者對變數進行自增減


let a++


let a--


let a+=2


let a-=2


方法四


bc計算器,可以計算小數


echo 1.15+5.04 | bc


echo scale=3;10/3 | bc   //scale定義小數點後幾位


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69946337/viewspace-2671850/,如需轉載,請註明出處,否則將追究法律責任。