基於linux下的xshell指令碼檔案入門及例題

2021-08-03 14:29:43 字數 1620 閱讀 5167

當需要進行一些重複而量大的操作時,指令碼檔案能使我們更輕鬆

首先來認識下幾個基礎的命令

echo 內容將內容輸出到螢幕

程式1 | 程式2將程式的輸出結果作為程式2的輸入

greap name     抓取含name的檔案

$變數取變數的值

$@                輸出引數

$#輸出引數數量

$n輸出第n個引數

$?輸出是上乙個程式返回的值

exit n返回n

$0輸出當前程式名

-eq等於為真

-ne不等於為真

-gt大於為真

-lt小於為真

-e程式存在為真

`命令```裡的內容視為乙個命令

who檢視系統下的使用者

top                  檢視程序

輸出第一列

echo 「ff" > 檔案  將輸出的內容輸入到指定檔案,內容不顯示到螢幕

echo "hvkjvk" >/dev/null  將輸出內容刪除

命令 >file      終端上只能看見標準錯誤

命令 2>file終端上只能看見標準正確

命令 >file 2>&1終端上什麼也看不見

for i in `seq 1 10`;do 命令;done 以i為變數迴圈十次

if [ a = b ];then 命令;fi當a=b成立,執行一次命令

while [ a = b ] ; do 命令;done 當a=b成立,執行命令

例子:編寫乙個名為chname的程式,將當前目錄下所有的.txt檔案更名為.doc檔案。

首先我們建立該檔案

vi chname

以下是指令碼檔案

#!/bin/bash               //標頭檔案

n=$#                        //取引數數量

echo "$n"                //輸出引數個數

for i in `seq 1 $n`     //以i為變數迴圈n次

domv ./$i.txt ./$i.doc   //將txt轉化成doc

done

接著我們更改chname許可權,使其具有執行許可權

chmod +x chname 

然後我們將要改變的內容輸入到該指令碼

./chname `ls`

結束例子:編寫乙個名為chuser的程式,執行中每隔5分鐘檢查指定的使用者是否登入系統,使用者名稱從命令列輸入;如果指定的使用者已經登入,則顯示相關資訊。 

#!/bin/bash              //標頭檔案

n=$#                     //確認引數數量

if [ $n -ne 1 ]          //數量如果不為1,則提示錯誤

then

echo "place enter one usr"

exit 1                   //返回1

for i in `seq 1  10000000`

dowho | grep $1           //讀取當前使用者名稱 檢測是否包含引數

sleep 5m                 //等待5分鐘

done

基於Linux下的dhcp服務

dhcp伺服器動態獲得位址的簡要的工作原理 服務端通過廣播位址向dhcp伺服器傳送請求,dhcp伺服器接受到請求,將沒有租出的ip位址傳送給客戶端,響應給客戶端乙個dhcp offer封包,同時返還的dhcp discover封包內包含mac,並且有乙個 xid 編號來辨別該封包,客戶端根據需要接受...

基於Linux下的重置密碼

我們在實際的操作中總是會出現密碼忘記的情況,接下來演示重置密碼操作。root密碼忘記 1.重新啟動系統 2.在系統啟動階段按上下健停止系統系統引導 3.選擇啟動引導標題,按 e 進行編輯 4.找到linux16引導條目這一行,從這行最後刪除到ro選項,並把ro改為rw,然後新增rd.break選項 ...

基於linux下的字元匹配

建立檔案 touch fi le fiale fiale fi?le fi6le alpha 匹配單個字母 格式 rm fr fi alpha le 結果如下圖所示 lower 匹配單個小寫字母 upper 匹配單個大寫字母 digit 匹配單個數字 alnum 匹配單個數字或字母 punct 匹配...