自動化運維 (2)Shell 程式設計的流程控制

2022-05-03 21:57:09 字數 2087 閱讀 7115

#

!/bin/bash

#單if語句的使用場景

if [ "

$1" == "

nan"

]then

echo

"您的性別是 男

"fi

#

!/bin/bash

#單if語句的使用場景

if [ "

$1" == "

nan"

]then

echo

"您的性別是 男

"else

echo

"您的性別是 女

"fi

#

!/bin/bash

#單if語句的使用場景

if [ "

$1" == "

nan"

]then

echo

"您的性別是 男

"elif [ "

$1" == "nv"

]then

echo

"您的性別是 女

"else

echo

"您的性別,我不知道

"fi

case語句格式:

case 變數名 in

值1) 指令1

;;值2)

指令2;;

值3)指令3

;;esac

示例:

#

cat case.sh

#!/bin/bash

#case語句使用場景

case "$1"

in"start

")

echo

"服務啟動中...

";;

"stop

")

echo

"服務關閉中...

";;

"restart

")

echo

"服務重啟中...

";;

*)

echo

"$0 指令碼的使用方式: $0 [ start | stop | restart ]

";;

esac

#

!/bin/bash

#for語句的使用示例

for i in $(ls /root)

do echo "$

"done

#

!/bin/bash

#while的示例

a=1while [ "

$" -lt 5]

do echo "$

"a=$((a+1))

done

#

!/bin/bash

#until的示例

a=1until [ "$

" -eq 5]

do echo "$

"a=$((a+1))

done

函式就是將某些命令組合起來實現某一特殊功能的方式,是指令碼編寫中非常重要的一部分。

#

!/bin/bash

#函式使用場景一:執行頻繁的命令

dayin()

#呼叫:

dayin

#

!/bin/bash

#函式的使用場景二

dayin()

#呼叫並傳入引數

dayin mzf

#

!/bin/bash

#函式傳參演示

#定義傳引數函式

dayin()

#函式接收呼叫指令碼時傳進的傳參

dayin $1 $2 $3

運維自動化

1,cobbler安裝環境準備 安裝epel epel release 6 8.noarch.rpm x86 64 epel release 6 8.noarch.rpm x86 安裝系列依賴環境 要是區域網用,建議關閉iptables 或是放行25151 80 69埠 和關閉selinux 檢視狀...

自動化運維

考慮的因素 源 打包為映象 發布到映象庫 利用k8s發布到物理機器執行,以服務的形式對外提供服務 目前的做法 0 建立乙個執行遠端命令的框架 1 每個應用建立乙個部署檔案指令碼 a 指定元 位址 c 同步源 到目標主機 d 接受指令碼引數 vername 2 版本號,映象tag fromport 3...

Ansible自動化運維工具(2)

5 ping模組 檢測客戶端機器的連通性 ansible webserver m ping 6 group模組 建立使用者的附加組。ansible webserver m group a gid 2016 name test 驗證ansible webserver m shell a cat etc...