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定義小數點後幾位
Shell基礎應用
1 檢視ip位址 檢查最近執行過的10條命令 2 執行最近一次以 ifc 開頭的命令 3 為使用者mike重置密碼,遮蔽所有輸出 4 執行 mkdir a b c 將報錯存到 err.txt 檢視歷史命令的命令是history命令。此命令會把最近執行的1000條以內的命令顯示出來。想看最近執行的10...
Shell基礎應用
檢視ip位址 檢查最近執行過的10條命令 執行最近一次以 ifc 開頭的命令 為使用者mike重置密碼,遮蔽所有輸出 執行 mkdir a b c 將報錯存到 err.txt 檢視歷史命令的命令是history命令。此命令會把最近執行的1000條以內的命令顯示出來。想看最近執行的10條命令,可以利用...
ubuntu學習筆記 shell基礎應用(1)
一.標準輸入輸出 1 命令cat是乙個把鍵盤作為標準輸入,把螢幕作為標準輸出。輸入cat命令,再按下回車鍵,然後在鍵盤輸入this is test1,按回車鍵後螢幕會顯示this is test2。按下ctrl c,結束cat命令的執行。如下 cat this is test1 this is te...