您现在的位置是:Instagram刷粉絲, Ins買粉絲自助下單平台, Ins買贊網站可微信支付寶付款 > 

05 怎么通過訂閱鏈接下載配置文件不存在(運維崗位面試題)

Instagram刷粉絲, Ins買粉絲自助下單平台, Ins買贊網站可微信支付寶付款2024-05-20 11:16:55【】1人已围观

简介然后保存chk買粉絲nfig買粉絲d–add創建系統服務現在就可以使用service來startorrestart23、寫一個腳本,實現批量添加20個用戶,用戶名為user01-20,密碼

然后保存

chk買粉絲nfig 買粉絲d –add 創建系統服務

現在就可以使用service 來 start or restart

23、寫一個腳本,實現批量添加20個用戶,用戶名為user01-20,密碼為user后面跟5個隨機字符

#!/bin/bash

#description: useradd

for i in `seq -f”%02g” 1 20`;do

useradd user$i

echo “user$i-`echo $RANDOM|md5sum|cut -c 1-5`”|passwd –stdinuser$i >/dev/null 2>&1

done

24、寫一個腳本,實現判斷192.168.1.0/24網絡里,當前在線的IP有哪些,能ping通則認為在線

#!/bin/bash

for ip in `seq 1 255`

do

ping -c 1 192.168.1.$ip > /dev/null 2>&1

if [ $? -eq 0 ]; then

echo 192.168.1.$ip UP

else

echo 192.168.1.$ip DOWN

fi

}&

done

wait

25、寫一個腳本,判斷一個指定的腳本是否是語法錯誤;如果有錯誤,則提醒用戶鍵入Q或者q無視錯誤并退出其它任何鍵可以通過vim打開這個指定的腳本

[root@localhost tmp]# cat checksh.sh

#!/bin/bash

read -p “please input check script-> ” file

if [ -f $file ]; then

sh -n $file > /dev/null 2>&1

if [ $? -ne 0 ]; then

read -p “You input $file syntax error,[Type q to exit or Type vim to edit]” answer

case $answer in

q | Q)

exit 0

;;

vim )

vim $file

;;

*)

exit 0

;;

esac

fi

else

echo “$file not exist”

exit 1

fi

26、寫一個腳本,要求如何:

創建一個函數,能接受兩個參數:

1)第一個參數為URL,即可下載的文件;第二個參數為目錄,即下載后保存的位置;

2)如果用戶給的目錄不存在,則提示用戶是否創建;如果創建就繼續執行,否則,函數返回一個51的錯誤值給調用腳本;

3)如果給的目錄存在,則下載文件;下載命令執行結束后測試文件下載成功與否;如果成功,則返回0給調用腳本,否則,返回52給調用腳本;

[root@localhost tmp]# cat downfile.sh

#!/bin/bash

url=$1

dir=$2

download()

{

cd $dir >> /dev/null 2>&1

if [ $? -ne 0 ];then

read -p “$dir No such file or directory,create?(y/n)” answer

if [ “$answer” == “y” ];then

mkdir -p $dir

cd $dir

wget $url 1> /dev/null 2>&1

else

return “51”

fi

fi

if [ $? -ne 0 ]; then

return “52”

fi

}

download $url $dir

echo $?

27、寫一個腳本,詳細需求如下:

1、創建一個函數,可以接受一個磁盤設備路徑(如/dev/sdb)作為參數;在真正開始后面步驟之前提醒用戶有危險,并讓用戶選擇是否繼續;而后將此磁盤設備上的所有分區清空(提示,使用命令dd if=/dev/zero of=/dev/sdb bs=512 買粉絲unt=1實現,注意其中的設備路徑不要寫錯了;

如果此步驟失敗,返回67給主程序;

接著在此磁盤設備上創建兩個主分區,一個大小為100M,一個大小為1G;如果此步驟失敗,返回68給主程序;

格式化此兩分區,文件系統類型為ext3;如果此步驟失敗,返回69給主程序;

如果上述過程都正常,返回0給主程序;

2、調用此函數;并通過接收函數執行的返回值來判斷其執行情況,并將信息顯示出來;

local Darray=(`ls /dev/sd[a-z]`)

for i in ${ Darray};do

[[ “$i” == “$1” ]] && Sd=$i &&break

done

else

return66

fi

#當匹配成功,進入選擇,告訴用戶,是否繼續,輸錯的話進入無限循環,當用戶選擇Y,則清空目標分區,且跳出while循環

while :;do

read -p “Warning!!!This operation will clean $Sd data.Next=y,Quit=n [y|n]:” Choice

case $Choice in

y)

dd if=/dev/zero of=$Sd bs=512 買粉絲unt=1 &> /dev/null &&break || return 67 ;;

n)

exit 88 ;;

*)

echo “Invalid choice,please choice again.” ;;

esac

done

#使用echo傳遞給fdisk進行分區,如果此命令失敗,則跳轉出去,錯誤值68,需要注意的是,有時候這個返回值很詭異,筆者之前成功與否都是返回的1,后來重啟之后,就好了,如果慎重的話,可以對創建的分區,進行判斷,不過就需要使用其他工具截取相關字段了,雖有些小麻煩,但無大礙

echo-e “n\np\n1\n\n+100M\nn\np\n2\n\n+1024M\nw\n”|fdisk /dev/sdb&> /dev/null || || return 68

#格式化之前,讓內核重新讀取磁盤分區表,值得注意的是,有的`系統版本,使用partprobe無效,譬如筆者的環境是rhel5.8,而rhel6.0以后,這個命令就很危險了,而使用partx -a /dev/sdb則效果更好…此項需慎重,如果格式化失敗,則告知把失敗的分區定義成變量,且跳出函數,并帶出錯誤值69

`partprobe`

Part=`fdisk -l /dev/$Sd|tail -2|cut -d” ” -f1`

for M in ${ Part};do

mke2fs -j $M &> /dev/null && ErrorPart=$M &&return 69

done

return 0

}

#下面代碼,調用函數,接收函數返回值,根據返回值進行判斷哪里出錯。

Disk_Mod $1

Res=$?

[ $Res-eq 0 ] && exit 0

[ $Res-eq 66 ] && echo “Error! Invalid input.”

很赞哦!(81681)

Instagram刷粉絲, Ins買粉絲自助下單平台, Ins買贊網站可微信支付寶付款的名片

职业:程序员,设计师

现居:青海果洛甘德县

工作室:小组

Email:[email protected]