當前位置:首頁 » 網頁前端 » bash腳本密鑰
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

bash腳本密鑰

發布時間: 2023-02-07 05:35:04

㈠ Bash 腳本進階,經典用法及其案例

前言:在linux中,Bash腳本是很基礎的知識,大家可能一聽腳本感覺很高大上,像我當初剛開始學一樣,感覺會寫腳本的都是大神。雖然復雜的腳本是很燒腦,但是,當我們熟練的掌握了其中的用法與技巧,再多加練習,總有一天也會成為得心應手的腳本大神。腳本在生產中的作用,想必我我不說,大家也都知道,腳本寫的6,可以省下很多復雜的操作,減輕自己的工作壓力。好了,廢話不多說,接下來,就是Bash腳本的用法展示。

(1)用法格式

if 判斷條件 1 ; then

條件為真的分支代碼

elif 判斷條件 2 ; then

條件為真的分支代碼

elif 判斷條件 3 ; then

條件為真的分支代碼

else

以上條件都為假的分支代碼

fi

逐條件進行判斷,第一次遇為「真」條件時,執行其分支,而後結束整個if。

(2)經典案例:

① 判斷年紀

分析:請輸入年紀,先判斷輸入的是否含有除數字以外的字元,有,就報錯;沒有,繼續判斷是否小於150,是否大於18。

② 判斷分數

分析:請輸入成績,先判斷輸入的是否含有除數字以外的字元,有,就報錯;沒有,繼續判斷是否大於100,是否大於85,是否大於60。

(1)用法格式

case $name in;

PART1)

cmd

;;

PART2)

cmd

;;

*)

cmd

;;

esac

注意:case 支持glob 風格的通配符:

*: 任意長度任意字元

?: 任意單個字元

[] :指定范圍內的任意單個字元

a|b: a 或b

(2)案例:

判斷yes or no

分析:請輸入yes or no,回答Y/y、yes各種大小寫組合為yes;回答N/n、No各種大小寫組合為no。

(1)用法格式

① for name in 列表 ;do

循環體

done

for (( exp1; exp2; exp3 )) ;do

cmd

done

exp1隻執行一次,相當於在for里嵌了while

③ 執行機制:依次將列表中的元素賦值給「變數名」; 每次賦值後即執行一次循環體; 直到列表中的元素耗盡,循環結束

列表的表示方法,可以glob 通配符,如{1..10} 、*.sh ;也可以變數引用,如: `seq 1 $name`

(2)案例

① 求出(1+2+...+n)的總和

分析:sum初始值為0,請輸入一個數,先判斷輸入的是否含有除數字以外的字元,有,就報錯;沒有判斷是否為0,不為0進入for循環,i的范圍為1~輸入的數,每次的循環為sum=sum+i,循環結束,最後輸出sum的值。

② 求出(1+2+...+100)的總和

分析:i=1,num=0;當i<=100,進入循環,若i 2取余=1,則sum=sum+i,i=i+1。

(1)用法格式

while 循環控制條件 ;do

循環

done

循環控制條件;進入循環之前,先做一次判斷;每一次循環之後會再次做判斷;條件為「true」 ,則執行一次循環;直到條件測試狀態為「false」 終止循環

(2)特殊用法(遍歷文件的每一行):while read line; do控制變數初始化循環體done < /PATH/FROM/SOMEFILE或 cat /PATH/FROM/SOMEFILE | while read line; do循環體done依次讀取/PATH/FROM/SOMEFILE文件中的每一行,且將行賦值給變數line

(3)案例:

① 100以內所有正奇數之和

分析:sum初始值為0,i的初始值為1;請輸入一個數,先判斷輸入的是否含有除數字以外的字元,有,就報錯;沒有當i<100時,進入循環,判斷 i 2取余 是否不為0,不為0時為奇數,sum=sum+i,i+1,為0,i+1;循環結束,最後輸出sum的值。

(1)用法

unitl 循環條件 ;do

循環

done

進入條件:循環條件為true ;退出條件:循環條件為false;剛好 和while相反 ,所以不常用,用while就行。

(2)案例

監控xiaoming用戶,登錄就殺死

分析:每隔0.5秒掃描,直到發現xiaoming用戶登錄,殺死這個進程,退出腳本,用於監控用戶登錄。

(1)用法

select variable in list

do

循環體命令

done

① select 循環主要用於創建菜單,按數字順序排列的示菜單項將顯示在標准錯誤上,並顯示PS3 提示符,等待用戶輸入

② 用戶輸入菜單列表中的某個數字,執行相應的命令

③ 用戶輸入被保存在內置變數 REPLY 中

④ select 是個無限循環,因此要記住用 break 命令退出循環,或用 exit 按 命令終止腳本。也可以按 ctrl+c退出循環

⑤ select 和 經常和 case 聯合使用

⑥ 與for循環類似,可以省略 in list, 此時使用位置參量

(2)案例:

生成菜單,並顯示選中的價錢

分析:PS3是select的提示符,自動生成菜單,選擇5break退出循環。

(1)語法

continue [N]:提前結束 第N層的本輪 循環,而直接進入下一輪判斷;最內層為第1層

break [N]:提前結束 第N層 循環,最內側為第1層

例:while CONDTITON1; doCMD1if CONDITION2; thencontinue / breakfiCMD2done (2)案例:

① 求(1+3+...+49+53+...+100)的和

分析:做1+2+...+100的循環,當i=51時,跳過這次循環,但是繼續整個循環,結果為:sum=2449

② 求(1+3+...+49)的和

分析:做1+2+...+100的循環,當i=51時,跳出整個循環,結果為:sum=625

(1)作用

用於將參數列表list左移指定次數,最左端的那個參數就從列表中刪除,其後邊的參數繼續進入循環

(2)案例:

① 創建指定的多個用戶

分析:如果沒有輸入參數(參數的總數為0),提示錯誤並退出;反之,進入循環;若第一個參數不為空字元,則創建以第一個參數為名的用戶,並移除第一個參數,將緊跟的參數左移作為第一個參數,直到沒有第一個參數,退出。

② 列印直角三角形的字元

true 永遠返回成功結果

: null command ,什麼也不幹,返回成功結果

false 永遠返回錯誤結果

創建無限循環

while true ;do

循環體

done

(1)用法

for name in 列表 ;do

{

循環體

}&

done

wait

(2)實例:

搜尋自己指定ip(子網掩碼為24的)的網段中,UP的ip地址

分析:請輸入一個IP地址例192.168.37.234,如果格式不是0.0.0.0 則報錯退出;正確則進入循環,IP變數的值為192.168.37. i的范圍為1-254,並行ping 192.168.37.1-154,ping通就輸出此IP為UP。直到循環結束。

trap ' 觸發指令' 信號,自定義進程收到系統發出的指定信號後,將執行觸發指令,而不會執行原操作

trap '' 信號,忽略信號的操作

trap '-' 信號,恢復原信號的操作

trap -p ,列出自定義信號操作

信號可以3種表達方法:信號的數字2、全名SIGINT、縮寫INT

1) SIGHUP: 無須關閉進程而讓其重讀配置文件

2) SIGINT: 中止正在運行的進程;相當於Ctrl+c

3) SIGQUIT: 相當於ctrl+

9) SIGKILL: 強制殺死正在運行的進程

15) SIGTERM :終止正在運行的進程(默認為15)

18) SIGCONT :繼續運行

19) SIGSTOP :後台休眠

9 信號,強制殺死,捕獲不住

① 列印0-9,ctrl+c不能終止

分析:i=0,當i<10,每休眠1秒,i+1,捕獲2信號,並執行echo press ctrl+c

② 列印0-3,ctrl+c不能終止,3之後恢復,能終止

分析:i=0,當i3時,解除捕獲2信號。

1、生成隨機字元 cat /dev/urandom

生成8個隨機大小寫字母或數字 cat /dev/urandom |tr -dc [:alnum:] |head -c 8

2、生成隨機數 echo $RANDOM

確定范圍 echo $[RANDOM%7] 隨機7個數(0-6)

echo $[$[RANDOM%7]+31] 隨機7個數(31-37)

3、echo列印顏色字

echo -e "33[31malong33[0m" 顯示紅色along

echo -e "33[1;31malong33[0m" 高亮顯示紅色along

echo -e "33[41malong33[0m" 顯示背景色為紅色的along

echo -e "33[31;5malong33[0m" 顯示閃爍的紅色along

color=$[$[RANDOM%7]+31]

echo -ne "33[1;${color};5m*33[0m" 顯示閃爍的隨機色along

㈡ Linux中使用shell腳本訪問sftp伺服器,密鑰不會用

密鑰用於建立SSH互信環境,本地公鑰需要分發到遠端伺服器目錄,可實現本地主機到遠端SFTP伺服器的無訪問.
1. 生成密鑰對,取得本地公鑰,如:id_dsa.pub
2. 登錄到遠端SFTP伺服器用戶HOME目錄的.ssh文件夾
3. 將id_dsa.pub的內容追加到遠端伺服器.ssh/autorized_keys文件尾部並保存
4. 嘗試與本地主機用戶SFTP到遠程伺服器: sftp user@server_addr

㈢ 關於Linux Shell腳本的問題、

你非得把密鑰生成到默認文件裡面,而且用默認自動生成的密碼嗎?
如果是這樣的話,以下代碼就行,兩個test之間的回車是必須的,而且記得換成linux格式的,
或者你用vi編輯,不要再windows上編寫。
#!/bin/bash
ssh-keygen -t rsa << test

test
ps:
不過我感覺這樣寫很惡心,如果不是非要默認生成:
ssh-keygen -t rsa -f /home/test -N test001
-f 指定密鑰文件名,生成密鑰到哪個文件里
-N 密碼

㈣ linux 郵件怎麼取消默認密鑰環

Linux取消默認密鑰環方法如下,以Ubuntu解除"輸入密碼以解鎖密鑰環」為例:
1.打開終端,輸入:sudo apt-get install libpam-keyring
2.新建一個 Bash 腳本,內容如下:
#!/bin/sh
exec echo -n "MyKeyringPassword" | /usr/lib/libpam-keyring/pam-keyring-tool -u -s
#其中 MyKeyringPassword 是密鑰環解鎖的密碼,默認是系統登錄密碼。
3.給剛才的 Bash 腳本文件加上可執行許可權。
4.打開系統->首選項->啟動應用程序,添加剛才的腳本為開機自啟動。

㈤ Linux裡面求互相免密鑰腳本

生成密鑰 ssh-keygen -t rsa (一直回車就行)2:將公鑰復制進入一個名字為"authorized_keys"中。 這個名字是默認的,不能改變,因為系統就是根據這個文件來判斷.

㈥ linux下怎麼運行bash腳本

linux下運行bash腳本的方法如下:

  1. 首先在桌面右鍵點擊,選擇在終端中打開,打開命令行;

  2. 在命令行中輸入 cd 腳本路徑,進入腳本所在目錄;

  3. 使用chmod +x 腳本名命令給文件添加可執行許可權;

  4. 使用sh 腳本名或者 ./腳本名的方法來運行bash腳本。

㈦ shell腳本中解決SCP命令需要輸入密碼的問題

答案:使用密鑰文件。

這里假設主機A(192.168.1.3)用來獲到主機B(192.168.1.4)的文件。
在主機A上執行如下命令來生成配對密鑰:
ssh-keygen -t rsa
遇到提示回車默認即可,公鑰被存到用戶目錄下.ssh目錄,比如root存放在:
/root/.ssh/id_rsa.pub

將 .ssh 目錄中的 id_rsa.pub 文件復制到 主機B 的 ~/.ssh/ 目錄中,並改名為 authorized_keys,
到主機A中執行命令和主機B建立信任,

例(假設主機B的IP為:192.168.100.4):scp ~/.ssh/id_rsa.pub 192.168.100.4:/root/.ssh/authorized_keys

下面就可以用scp、ssh命令不需要密碼來獲取主機B的文件了
ssh 192.168.100.4 回車就不需要密碼了。
註:其實id_rsa.pub內容添加到對方機器的authorized_keys中就行了

拷貝其他伺服器附件歸集到主伺服器bash shell

[ [email protected] ~]$ cat .bash

scp -r [email protected] :/home/test1/tomcat/webapps/app01/WEB-INF/attachment/* /home/test/tomcat/webapps/app01/WEB-INF/attachment/
echo "done! app02. finish"
scp -r [email protected] :/home/test2/tomcat/webapps/app01/WEB-INF/attachment/* /home/test/tomcat/webapps/app01/WEB-INF/attachment/
echo "done! app03. finish"

增加定時任務

crontab -e

類似編輯vi 在裡面粘貼

---shift+zz保存,重啟crond服務

root]# service crond restart

引用自 https://www.cnblogs.com/java2sap/p/11424587.html

㈧ shell腳本上

| 對於初學者而言,因為沒有實戰經驗,寫不出來 Shell 腳本 很正常,如果工作了幾年的運維老年還是寫不出來,那就是沒主動找需求,缺乏練習,缺乏經驗。針對以上問題,總結了30個生產環境中經典的 Shell 腳本 ,通過這些需求案例,希望能幫助大家提升Shell編寫思路,掌握編寫技巧。 |

先了解下編寫Shell過程中注意事項:

<pre style="margin: 0px; padding: 0px; overflow: auto; white-space: pre-wrap; color: rgb(51, 51, 51); font-size: 14px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;">開頭加解釋器:#!/bin/bash
語法縮進,使用四個空格;多加註釋說明。
命名建議規則:變數名大寫、局部變數小寫,函數名小寫,名字體現出實際作用。
默認變數是全局的,在函數中變數local指定為局部變數,避免污染其他作用域。
有兩個 命令 能幫助我調試腳本:set -e 遇到執行非0時退出腳本,set-x 列印執行過程。
寫腳本一定先測試再到生產上。
</pre>

1、獲取隨機字元串或數字

<pre style="margin: 0px; padding: 0px; overflow: auto; white-space: pre-wrap; color: rgb(51, 51, 51); font-size: 14px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;">獲取隨機8位字元串:
方法1:

471b94f2
方法2:

vg3BEg==
方法3:

ed9e032c

獲取隨機8位數字:
方法1:

23648321
方法2:

38571131
方法3:

69024815

cksum:列印CRC效驗和統計位元組
</pre>

2、定義一個顏色輸出字元串函數

<pre style="margin: 0px; padding: 0px; overflow: auto; white-space: pre-wrap; color: rgb(51, 51, 51); font-size: 14px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;">方法1:
function echo_color() {
if [ 233[0m"
elif [ 233[0m"
fi
}
方法2:
function echo_color() {
case 2[0m"
;;
red)
echo -e "[31;40m$2[0m"
;;
*)
echo "Example: echo_color red string"
esac
}

使用方法:echo_color green "test"

function關鍵字定義一個函數,可加或不加。
</pre>

3、批量創建用戶

<pre style="margin: 0px; padding: 0px; overflow: auto; white-space: pre-wrap; color: rgb(51, 51, 51); font-size: 14px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;">#!/bin/bash
DATE= 1 == "green" ]; then
echo -e "[32;40m 1 == "red" ]; then
echo -e "[31;40m$2[0m"
fi
}

if [ -s USER_FILE {DATE}.bak
echo_color green " {USER_FILE}- USER_FILE
echo "----------------" >> USER &>/dev/null; then
PASS= RANDOM |md5sum |cut -c 1-8)
useradd PASS |passwd --stdin USER USER_FILE
echo " USER User already exists!"
fi
done
</pre>

4、檢查軟體包是否安裝

<pre style="margin: 0px; padding: 0px; overflow: auto; white-space: pre-wrap; color: rgb(51, 51, 51); font-size: 14px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;">#!/bin/bash
if rpm -q sysstat &>/dev/null; then
echo "sysstat is already installed."
else
echo "sysstat is not installed!"
fi
</pre>

5、檢查服務狀態

<pre style="margin: 0px; padding: 0px; overflow: auto; white-space: pre-wrap; color: rgb(51, 51, 51); font-size: 14px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;">#!/bin/bash
PORT_C= (ps -ef |grep ntpd |grep -vc grep)
if [ PS_C -eq 0 ]; then
echo "內容" | mail -s "主題" [email protected]
fi
</pre>

6、檢查主機存活狀態

<pre style="margin: 0px; padding: 0px; overflow: auto; white-space: pre-wrap; color: rgb(51, 51, 51); font-size: 14px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;">方法1:將錯誤IP放到數組裡面判斷是否ping失敗三次

IP_LIST="192.168.18.1 192.168.1.1 192.168.18.2"
for IP in NUM -le 3 ]; do
if ping -c 1 IP Ping is successful."
break
else
# echo " NUM"
FAIL_COUNT[ IP
let NUM++
fi
done
if [ {FAIL_COUNT[1]} Ping is failure!"
unset FAIL_COUNT[*]
fi
done

方法2:將錯誤次數放到FAIL_COUNT變數裡面判斷是否ping失敗三次

IP_LIST="192.168.18.1 192.168.1.1 192.168.18.2"
for IP in IP >/dev/null; then
echo " IP Ping is failure FAIL_COUNT -eq 3 ]; then
echo "$IP Ping is failure!"
fi
done

方法3:利用for循環將ping通就跳出循環繼續,如果不跳出就會走到列印ping失敗

ping_success_status() {
if ping -c 1 IP Ping is successful."
continue
fi
}
IP_LIST="192.168.18.1 192.168.1.1 192.168.18.2"
for IP in IP Ping is failure!"
done
</pre>

7、監控CPU、內存和硬碟利用率

<pre style="margin: 0px; padding: 0px; overflow: auto; white-space: pre-wrap; color: rgb(51, 51, 51); font-size: 14px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;">1)CPU
藉助vmstat工具來分析CPU統計信息。

DATE= (ifconfig eth0 |awk -F [ :]+ /inet addr/{print (vmstat |awk NR==3{print (vmstat |awk NR==3{print (vmstat |awk NR==3{print (vmstat |awk NR==3{print (( SY))
if [ DATE
Host: USE
" | mail -s "CPU Monitor" $MAIL
fi

2)內存

DATE= (ifconfig eth0 |awk -F [ :]+ /inet addr/{print (free -m |awk /Mem/{print (free -m |awk /Mem/{print 6- (( USE))

if [ DATE
Host: TOTAL,Use= FREE
" | mail -s "Memory Monitor" $MAIL
fi

3)硬碟

DATE= (ifconfig eth0 |awk -F [ :]+ /inet addr/{print (fdisk -l |awk -F [: ]+ BEGIN{OFS="="}/^Disk /dev/{printf "%s=%sG,", 3} )
PART_USE= 1,int( 6} )
for i in (echo (echo (echo USE -gt 80 ]; then
echo "
Date: IP
Total: PART= MOUNT)
" | mail -s "Disk Monitor" $MAIL
fi
done
</pre>

8、批量主機磁碟利用率監控

<pre style="margin: 0px; padding: 0px; overflow: auto; white-space: pre-wrap; color: rgb(51, 51, 51); font-size: 14px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;">前提監控端和被監控端SSH免交互登錄或者密鑰登錄。

寫一個配置文件保存被監控主機SSH連接信息,文件內容格式:IP User Port

HOST_INFO=host.info
for IP in 1} (awk -v ip= 1{print HOST_INFO)
PORT= IP ip== 3} PORT IP df -h > (awk BEGIN{OFS="="}/^/dev/{print 5)} USE_RATE_LIST; do
PART_NAME= {USE_RATE#*=}
if [ PART_NAME Partition usage $USE_RATE%!"
fi
done
done
</pre>

9、檢查網站可用性

<pre style="margin: 0px; padding: 0px; overflow: auto; white-space: pre-wrap; color: rgb(51, 51, 51); font-size: 14px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;">1)檢查URL可用性
方法1:
check_url() {
HTTP_CODE= 1)
if [ 1 Access failure!"
fi
}
方法2:
check_url() {
if ! wget -T 10 --tries=1 --spider $1 >/dev/null 2>&1; then

}

使用方法:check_url www..com

2)判斷三次URL可用性
思路與上面檢查主機存活狀態一樣。

方法1:利用循環技巧,如果成功就跳出當前循環,否則執行到最後一行

check_url() {
HTTP_CODE= 1)
if [ URL_LIST; do
check_url URL
check_url URL Access failure!"
done

方法2:錯誤次數保存到變數

URL_LIST=" www..com www.agasgf.com "
for URL in (curl -o /dev/null --connect-timeout 3 -s -w "%{http_code}" HTTP_CODE -ne 200 ]; then
let FAIL_COUNT++
else
break
fi
done
if [ URL Access failure!"
fi
done

方法3:錯誤次數保存到數組

URL_LIST=" www..com www.agasgf.com "
for URL in NUM -le 3 ]; do
HTTP_CODE= URL)
if [ NUM]= NUM下標, {#FAIL_COUNT[ ]} -eq 3 ]; then
echo "Warning: $URL Access failure!"
unset FAIL_COUNT[ ] #清空數組
fi
done
</pre>

10、檢查Mysql主從同步狀態

<pre style="margin: 0px; padding: 0px; overflow: auto; white-space: pre-wrap; color: rgb(51, 51, 51); font-size: 14px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;">#!/bin/bash
USER=bak
PASSWD=123456
IO_SQL_STATUS= USER -p 0} ) #gsub去除冒號後面的空格
for i in {i%:*}
THREAD_STATUS= THREAD_STATUS" != "Yes" ]; then
echo "Error: MySQL Master-Slave THREAD_STATUS!"
fi
done
</pre>

動手練一練,讓你的Shell功底上升一個段位!

㈨ windows怎麼提取bash腳本

熱門頻道

首頁

博客

研修院

VIP

APP

問答

下載

社區
推薦頻道

活動

招聘

專題
打開CSDN APP
Copyright © 1999-2020, CSDN.NET, All Rights Reserved

打開APP

windows執行bash腳本 原創
2022-03-22 19:11:19

代碼小軒
碼齡5年
關注
Windows執行shell腳本
1、 安裝Git
在這里插入圖片描述
2、 查看Git環境變數
右擊電腦-屬性-高級-高級系統設置
在這里插入圖片描述
已設置環境變數
在這里插入圖片描述
在這里插入圖片描述
3、 打開Git bash
定位到sh文件所在目錄,直接使用bash 或sh 來執行bash shell腳本:
在這里插入圖片描述

打開CSDN APP,看更多技術內容

如何在Windows中運行bash_看,月亮在跳舞的博客
為了運行bash,首先要進行幾步操作。首先,需要獲得Windows10的build 14316。 安裝內測版本之後,用戶需要切換到開發者模式,從設置>更新(Settings > Updates),安全>開發者(Security > For Developers)打開新的設置頁面,選擇「Windows Subsystem...
繼續訪問
windows 使用bash_Neil_001的博客_windowns bash
Windows執行shell腳本 1、 安裝Git 2、 查看Git環境變數 右擊電腦-屬性-高級-高級系統設置 已設置環境變數 3、 打開Gitbash定位到sh文件所在目錄,直接使用bash或sh 來執行bashshell腳本: windowns server 2012 部署mysql5.7,並修改初始密...
繼續訪問
最新發布 在Linux中執行shell(bash)腳本的方法 2208筆記
用source命令執行腳本文件時,是在當前Shell進程中執行,而不是像./與sh方式一樣在新的Shell進程中執行,因此早先設置的變數在腳本里是可以讀取到的。source是Shell(准確地說是Bash)的內置命令,在Bourne Shell中的等價命令是一個點.,即點命令。後, 就能在任意文件夾, 像執行命令一樣, 直接輸入腳本名就能執行 , 會在子Shell中執行。按路徑直接執行,需要腳本文件有可執行許可權, 一般自己創建的文件有讀寫許可權,但沒有可執行許可權。命令直接在當前shell執行腳本。
繼續訪問
CmdBash:CMDBASH命令行工具
CmdBash CMD/BASH命令行工具 作者 zlb 運行環境 適用於jdk1.8
如何在Windows中運行bash
當微軟宣布,將在Windows10上面支持bash時,所有的Unix命令行用戶都為之雀躍了。上周三,微軟發布了一個測試版本,開始支持了這項功能。為了運行bash,首先要進行幾步操作。首先,需要獲得Windows10的build 14316。安裝內測版本之後,用戶需要切換到開發者模式,從設置>更新(Settings > Updates),安全>開發者(Security > F...
繼續訪問
在windows中利用gitbash並行執行命令
rush並行sh語句
繼續訪問

windows10bash_Windows 10上的Bash
windows10bash 因為我使用基於Linux和Windows的計算機進行開發,所以我經常希望自己在Windows環境中可以使用一些方便的命令行Linux工具。 Cygwin , PowerShell和用於模擬Linux工具的 自定義Groovy腳本起到了幫助作用,但是最近得知Windows 10上的Ubuntu上的Bash可用我感到非常驚訝。 在本文中,我簡要總結了使bash在Wind...
繼續訪問

VsCode | 在 Windows 上調試Bash腳本
如何使用VsCode調試Bash腳本
繼續訪問

熱門推薦 windows使用bash指令
方法只適用於64位版本的Windows 10 1. 打開設置應用程序和頭部更新和安全>對於開發。在這里啟動「開發者模式」開關,使開發者模式 2. 接下來,打開控制面板,單擊「程序」,然後單擊「打開Windows功能打開或關閉」在程序和功能。在這里啟用「Windows子系統為Linux(測試版)」列表中的選項,並單擊「確定」。 執行此操作後,系統會提示您重新啟動計算機。點擊「立即...
繼續訪問

Windows 10上的Bash
因為我使用基於Linux和Windows的機器進行開發,所以我經常希望自己在Windows環境中擁有一些方便的命令行Linux工具。 Cygwin , PowerShell和編寫用於模擬Linux工具的 自定義Groovy腳本起到了幫助作用,但是最近得知Windows 10上的Ubuntu上的Bash可用,令我感到驚喜。 在本文中,我簡要總結了使bash在Windows上可用的一些步驟。 在...
繼續訪問

Windows環境運行shell腳本
Windows環境運行shell腳本
繼續訪問

解決方案:Win10如何使用bash批處理命令
問題描述:無法將「bash」項識別為 cmdlet、函數、腳本文件或可運行程序的名稱。請檢查名稱的拼寫,如果包括路徑,請確保路徑正確,然後再試一次。 'bash' 不是內部或外部命令,也不是可運行的程序或批處理文件。......
繼續訪問

windows python執行bash命令
windows的cmd命令是很難用的,比如想通過管道來對輸出作下切割,就比較繁瑣;然而在bash shell里,cut命令就能輕松搞定,但在windows下,如何執行bash命令呢?首先要安裝bash,不過,作為開發者,一般都會安裝git,它自帶了bash命令。............
繼續訪問

win python 運行bash腳本_在window中模擬執行linux 腳本
現在後端環境常常是linux系統,但很多情況下,我們的開發環境是Window系統,為了能在window下模擬linux的腳本,而且也能夠ssh到linux server,我們可以在window系統中安裝這樣一個模擬環境 cmder,以下舉例說明如何使用cmder腳本bash 腳本:test.sh#!/bin/bash./test.py -s http://localhost:8008/foo -i...
繼續訪問
windows bash
1 echo 和 @ 回顯命令 @ #關閉單行回顯 echo off #從下一行開始關閉回顯 @echo off #從本行開始關閉回顯。一般批處理第一行都是這個 echo on #從下一行開始打開回顯 echo #顯示當前是 echo ...
繼續訪問
win python 運行bash腳本_在Windows上從Python執行bash腳本
我正在嘗試編寫一個python腳本,它將在我的Windows機器上執行bash腳本。到目前為止,我一直在使用Cygwin終端,因此執行bash腳本RunModels.scr就像./RunModels.scr一樣簡單。現在我希望能夠利用Python的subprocess,但是由於Windows沒有處理bash的內置功能,我不知道該怎麼做。我試圖模擬./RunModels.scr < valid...
繼續訪問
不用安裝虛擬機,直接在Windows上面運行Linux Bash Shell,嗯!真香!!!
每次安裝虛擬機,打開虛擬機,一頓繁瑣的界面操作,等待時長,讓我很煩躁,對於熟悉開發工程師,在Linux上面敲擊感和運行等等都要比Windows上面好很多倍,那麼怎麼在Windows上面直接運行Bash shell呢?下面對詳細過程盡心了描述,請耐心觀看。 1. 首先打開我們的開發者模式 1.1 直接在搜索框輸入開發者,然後Enter就可以直接進入啦 1.2 或者按住win(鍵盤Ctrl和Alt中間哪個Windows圖標)+x,然後選擇「設置」,然後選擇「更新和安全」,選擇開發者選項就行啦 1.3 打開
繼續訪問

windows下如何運行shell腳本
windows下如何執行shell腳本
繼續訪問
Win10系統開啟Linux Bash命令行
微軟在推送的Win10一周年更新預覽版14316中,該版本中包含了大部分已宣布內容,其中包括了一項重要的原生支持Linux Bash命令行支持。2、搜索「程序和功能」,選擇「開啟或關閉Windows功能」,開啟Windows Subsystem for Linux (Beta),並重啟系統。或Mac電腦就可以在Win10上使用Bash,那麼如何在Win10系統上開啟Linux Bash命令行呢?大家可以嘗試下面的方法來解決這個問題。3、安裝Bash,需要開啟命令行模式,然後輸入「bash」,即可使用。...
繼續訪問

怎樣在window下運行linux bash shell腳本
怎樣在window下運行linux bash shell
繼續訪問

windows下安裝bash bash的目錄位置
windows下安裝bash bash的目錄位置 C:\Users\張政\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu18.04onWindows_79rhkp1fndgsc\LocalState\rootfs
繼續訪問
WINDOWS命令和批處理
轉自:http://proclsj999.javaeye.com/blog/206853 另外查看WIndows和Linux的所有命令:http://www.ss64.com/nt/。 該教程一共分為4大部分,第一部分是批處理的專用命令,第二部分是特殊的符號與批處理,第三部分是批處理與變數,第四部分是完整案例。 %~dp0 表示當前bat所在的目錄。第一部分:批處理的專用命令 批處理文...
繼續訪問
windows bash
bash
寫評論

評論

6

點贊



分享

㈩ 如何用bash腳本實現批量修改密碼復雜度

sed -i 's/\(password requisite pam_cracklib.so\).*/\1 try_first_pass retry=1 minlen=8 dcredit=-1 ocredit=-1 lcredit=-1/' /etc/pam.d/system-auth
sed -i 's/\(password sufficient pam_unix.so\).*/\1 md5 shadow nullok try_first_pass use_authtok remember=5/' /etc/pam.d/system-auth