主頁 >  其他 > 自動化測驗-基礎知識—Bash基礎

自動化測驗-基礎知識—Bash基礎

2023-05-28 08:09:58 其他

Bash

在 Bash 中,美元符號 $ 可以用于參考變數或者運算式的值,Bash 中的變數并不需要事先宣告,而是在第一次賦值時自動創建,基于這個特性,我們可以通過給變數名加上 $ 的方式來參考它的值,比如 $var 表示參考變數 var 的值,

在 Bash 中,使用 $ 還有其他一些常見的用法,例如:

  • $0:表示執行當前腳本的檔案名,也就是腳本的第一個引數;
  • $1$2 等:表示腳本的第 1、2 個引數;
  • $#:表示傳遞給腳本的引數個數;
  • $?:表示上一個命令的回傳值,在 Linux 系統中,0 表示成功,非零表示失敗,

另外,Bash 中還支持一些特殊符號,例如:

  • $$:表示當前行程的行程 ID;
  • $!:表示最近一個后臺作業(通過 & 運行的命令)的行程 ID;
  • $* 或 $@:表示所有傳遞給腳本的引數,區別在于前者將所有引數看成一個字串,后者將每個引數視為獨立的字串,

除了以上用法之外,Bash 中還有很多其他的用法,例如用于替換命令列的通配符 $(),用于參考環境變數的 ${var},等等,總之,美元符號 $ 是 Bash 中一個非常重要的特性,掌握好它的用法可以更加方便地撰寫腳本和命令列操作,

條件選擇、判斷

條件選擇if

if 判斷條件 1 ; then

  條件為真的分支代碼

elif 判斷條件 2 ; then

  條件為真的分支代碼

elif 判斷條件 3 ; then

  條件為真的分支代碼

else

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

fi

判斷年齡

#!/bin/bash

read -p "請輸入年齡:" age

# 判斷 age 中是否包含非數字字符
if [[ "$age" =~ [^0-9]+ ]]; then
  echo "輸入的年齡必須是數字"
  exit 1
fi

# 將 age 轉換為數字,并判斷范圍
if (( age < 18 || age > 150 )); then
  echo "輸入的年齡必須在 18 到 150 之間"
else
  echo "輸入的年齡為 $age"
fi

條件判斷 case

case $name in;

PART1)

  cmd
;;

PART2)

  cmd
 ;;
*)
  cmd
;;
esac

判斷yes or no

#!/bin/bash

read -p "請輸入 yes 或 no:" answer

# 將 answer 轉換為小寫字母
answer=$(echo "$answer" | tr '[:upper:]' '[:lower:]')

# 判斷輸入是否為 "yes"
if [[ "$answer" = y || "$answer" = yes ]]; then
  echo "輸入為 yes"
# 判斷輸入是否為 "no"
elif [[ "$answer" = n || "$answer" = no ]]; then
  echo "輸入為 no"
else
  echo "無法識別輸入"
fi

#!/bin/bash

echo "請輸入yes或no,可以回答 Y/y/yes/YES 或 N/n/no/NO:"
read answer

case "$answer" in
#正則:以大寫或小寫的y開頭,后面跟著大寫或小寫的e,再后面跟著大寫或小寫的s,組成的字串,
  [Yy][Ee][Ss]|[Yy])
    echo "你回答的是yes"
    ;;
  [Nn][Oo]|[Nn])
    echo "你回答的是no"
    ;;
  *)
    echo "你的回答無效"
    ;;
esac

四個回圈

for回圈

用法格式

for name in 串列 ;do

  回圈體

done

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

  cmd

done

案例

求出(1+2+...+n)的總和
#!/bin/bash

# 讀取用戶輸入的數字,判斷是否為正整數
# `-ge`:是比較運算子,表示“大于等于”的關系;
# '-eq':是比較運算子,表示“等于”的關系
while true
do
    read -p "請輸入一個大于等于 1 的正整數: " num
    if [[ $num =~ ^[0-9]+$ ]]; then
        if [ $num -ge 1 ]; then
            break
        fi
    fi
done

# 初始化總和為 0
sum=0

# 使用一個 for 回圈累加 1 到 num 的數字
for ((i=1;i<=num;i++))
do
    sum=$((sum+i))
done

# 輸出結果
echo "1 到 $num 的數字之和為:$sum"

/***
以上代碼中,我們使用 while 回圈不斷讀取用戶輸入的數字,判斷其是否為正整數,如果用戶輸入了非數字字符,或者輸入的數字小于 1,程式將提示用戶重新輸入,當用戶輸入的數字符合要求時,程式才會繼續執行,然后,代碼和之前一樣,使用 for 回圈從 1 到 num 累加,并輸出結果,

注意,使用 `[[ $num =~ ^[0-9]+$ ]]` 的正則運算式來驗證用戶輸入是否為數字,其中 `^` 表示行的開頭,`$` 表示行的結尾,`[0-9]+` 表示數字出現一次或多次,

在上面的代碼中,我們使用 `[ $num -ge 1 ]` 條件運算式來判斷用戶輸入的數字是否大于等于 1,如果成立,則符合要求,退出回圈;否則,提示用戶重新輸入,
***/
求出 1-100 中所有奇數的和
#!/bin/bash

# 定義變數 sum,用于保存奇數和
sum=0

# 使用 for 回圈依次遍歷 1 到 100 的數字
for ((i=1; i<=100; i++)); do
  # 判斷當前數字是否為奇數,如果是則將其加到 sum 中去
  if [[ $((i % 2)) -eq 1 ]]; then
    sum=$((sum + i))
  fi
done

# 輸出結果
echo "1 到 100 中所有奇數的和為:$sum"

/***
首先,我們定義了一個變數 sum,用于保存奇數和的結果,然后使用 for 回圈遍歷 1 到 100 的數字,每次回圈檢查當前數字是否為奇數,如果是則將其加到 sum 中,最后,使用 echo 輸出結果,

其中,`[[ $((i % 2)) -eq 1 ]]` 是一個條件運算式,用于判斷當前數字是否為奇數,`$((i % 2))` 表示取 i 對 2 取模的結果,如果這個結果為 1,則說明 i 是奇數,條件運算式回傳真;否則條件運算式回傳假,不執行回圈體中的陳述句,

注意,上述程式中使用了雙括號 `(())` 進行算術運算,比如 `sum=$((sum + i))` 表示將 sum 和 i 相加的結果賦值給 sum,另外,在 Bash 中,回圈體必須用 `do` 和 `done` 關鍵字括起來,判斷陳述句需要用 if 關鍵字開頭,
***/

while回圈

用法格式

while 回圈控制條件 ;do

  回圈

done

回圈控制條件;進入回圈之前,先做一次判斷;每一次回圈之后會再次做判斷;條件為“true” ,則執行一次回圈;直到條件測驗狀態為“false” 終止回圈

特殊用法(遍歷檔案的每一行)

while read line; do控制變數初始化

  回圈體

done < /PATH/FROM/SOMEFILE

或cat /PATH/FROM/SOMEFILE | while read line; do

  回圈體

done

依次讀取/PATH/FROM/SOMEFILE檔案中的每一行,且將行賦值給變數line

案例-100以內所有正奇數之和

#!/bin/bash

sum=0
i=1

while [ $i -le 100 ]
do
  read -p "請輸入一個數:" num
  if [[ ! "$num" =~ ^[0-9]+$ ]]; then
    echo "輸入錯誤,請重新輸入數字!"
  else
    if [ $((num % 2)) -ne 0 ]; then
      sum=$((sum + num))
    fi
    i=$((i + 1))
  fi
done

echo "100以內所有正奇數之和為:$sum"

/***
[[ ! "$num" =~ ^[0-9]+$ ]] 是一個 Bash 條件測驗陳述句,用于判斷 $num 是否為純數字字串,下面對其進行逐一解釋:

[[ ... ]] :這是 Bash 特有的條件測驗結構,其中 ... 就是待測驗的條件運算式,
! :邏輯非運算子,表示取相反值,
"$num" :將變數 $num 的值作為一個整體傳遞給條件測驗命令,使用雙引號可以確保 $num 中包含空格等特殊字符時依然能夠正確處理,
=~ :匹配運算子,用于測驗是否符合正則運算式,
^[0-9]+$ :正則運算式,表示整個字串必須全部由數字組成,其中 ^ 表示匹配行首,[0-9]+ 表示匹配一或多個數字,$ 表示匹配行尾,
因此,整個條件測驗陳述句的含義可以理解為“如果 $num 不是由 1 個或多個數字組成,則回傳真(即不符合條件)”,在條件測驗中,如果條件為真,則回傳 1;否則回傳 0,由于上述條件陳述句中使用了邏輯非運算子 !,因此實際上表示的是 $num 為非純數字字串,如果符合條件,則回傳真,否則回傳假,因此,[[ ! "$num" =~ ^[0-9]+$ ]] 的含義是:如果 $num 不是純數字字串,則輸出錯誤資訊,
***/

until 回圈

用法格式

unitl 回圈條件a; do

  回圈

done

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

案例-監控xiaoming用戶,登錄就殺死

#!/bin/bash

# 定義被監控的用戶名
TARGET_USER="xiaoming"

until who | grep -q $TARGET_USER; do
  sleep 0.5
done

# 當檢測到用戶登錄時,kill 掉該用戶的所有行程
pkill -u $TARGET_USER

# 退出腳本
exit 0

/***
上述腳本中,使用 `until` 回圈對目標用戶進行監控,其中 `who` 命令用于獲取當前登錄用戶串列,`grep` 命令則用于匹配該用戶是否存在于串列中,由于 `grep` 命令默認會輸出匹配到的文本,因此需要使用 `-q` 選項來將輸出屏蔽掉,從而只在匹配成功時才能回傳真,

當檢測到用戶登錄后,使用 `pkill` 命令殺死該用戶的所有行程,最后,使用 `exit` 命令退出腳本,

可以將上述腳本保存為檔案,如 `monitor_user.sh`,然后使用 `chmod +x monitor_user.sh` 命令將其設定為可執行檔案,運行該腳本后,它會每隔 0.5 秒掃描一次登錄用戶串列,直到發現 `xiaoming` 用戶登錄,之后就會殺死該用戶的所有行程并退出腳本,
***/

select 回圈與選單

用法格式

select variable in list

do

  回圈體命令

done

① select 回圈主要用于創建選單,按數字順序排列的示選單項將顯示在標準錯誤上,并顯示PS3 提示符,等待用戶輸入

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

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

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

⑤ select 經常和 case 聯合使用

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

案例

#!/bin/bash

# 定義選單串列
menu=("面包 ¥2" "牛奶 ¥3" "咖啡 ¥5" "雞蛋 ¥1" "退出")

# 顯示選單,直到用戶選擇退出
while true; do
  # 輸出選單串列
  echo "請選擇要購買的商品(輸入序號): "
  for i in "${!menu[@]}"; do
    echo "$((i+1))) ${menu[$i]}"
  done
  
  # 等待用戶輸入選項
  read -r choice
  if [ "$choice" == "${#menu[@]}" ]; then
    # 如果選擇了最后一項"退出",則退出回圈
    echo "再見!"
    exit 0
  elif [ "$choice" -gt 0 ] && [ "$choice" -lt "${#menu[@]}" ]; then
    # 如果選擇了選單中的某一項,則顯示其價格并回到回圈開頭
    item="${menu[$choice-1]}"
    price=$(echo "$item" | awk '{print $2}' | sed 's/¥//')
    echo "您選擇了:$item,價格為 $price 元,"
  else
    # 如果輸入了無效的選項,則輸出錯誤提示資訊并回到回圈開頭
    echo "錯誤的選項,請重新選擇!"
  fi
done


/***
在上述腳本中,首先定義了一個選單串列 `menu`,其中每個菜品都附帶有相應的價錢,接著,使用 `PS3` 變數設定了 `select` 命令的提示符,這里設定為“請選擇要購買的商品(輸入序號): ”,然后,在一個無限回圈中,使用 `select` 命令生成選單,并等待用戶選擇,

當用戶輸入選項序號時,`select` 命令會將選項對應的值存盤在 `$REPLY` 變數中,由于最后一項是退出選項,因此可以使用 `${#menu[@]}` 來獲取選單串列的長度,從而判斷是否選擇了退出選項,如果選擇了退出,則輸出“再見!”并使用 `exit` 命令退出腳本,

如果選擇了選單中的某一項,則使用 `echo` 命令顯示該項內容,并通過 `break` 命令跳出當前回圈,回到上層回圈,如果輸入了無效的選項,則也會輸出錯誤提示資訊并直接回到回圈開頭,等待用戶重新輸入,

注意,在選單串列中,每個菜品的價格都附帶了人民幣符號“¥”,因此,在輸出選中的菜品價格時,需要對其進行截取和轉換,可以使用 Bash 的字串截取功能 `${item:(-1)}` 來提取字串最后一位(即價格),然后再使用算術運算 `$((...))` 將其轉換為數字型別,并除以 100 轉換為元,例如,對于選中的菜品 `面包 ¥2`,可以使用以下代碼來輸出其價格:
***/

九九乘法表

#!/bin/bash

for i in {1..9}; do
  for j in $(seq 1 $i); do
    # 計算并輸出乘積
    result=$((i*j))
    printf "%dx%d=%-2d " $j $i $result
  done
  # 在每行的末尾添加一個換行符
  echo ""
done

/***
- 我們使用了 `seq` 命令來遍歷每一行中的乘數,此命令會生成從 1 到 `$i` 的整數序列,其中 `$i` 是當前正在列印的乘數,
- 在輸出結果時,我們使用了與之前相同的 `printf` 命令,但是在格式字串中增加了一個換行符,這樣就可以使每個乘積占據單獨一行,并增加輸出結果的可讀性,
/***

彩色等腰三角形

#!/bin/bash

# 定義三角形高度和顏色陣列
height=10
colors=("\033[31m" "\033[32m" "\033[33m" "\033[34m")

# 回圈遍歷每一行
for ((i=1; i<=$height; i++)); do

  # 計算所需填充的空格數量
  spaces=$(( 2*($height - $i) ))

  # 輸出空格
  for ((j=1; j<=$spaces; j++)); do
    echo -n " "
  done

  # 計算所需填充的星號數量
  stars=$((2*i-1))

  # 輸出星號
  for ((j=1; j<=$stars; j++)); do
    # 選擇顏色
    color=${colors[((i-1)%${#colors[@]})]}
    echo -en "$color* \033[0m"
  done

  # 換行
  echo ""
done

/***
在這個代碼中,我們定義了一個變數 `$height` 來指定三角形的高度,并定義了一個 `$colors` 陣列來為三角形中的星號選擇不同的顏色,在回圈中,我們計算了所需的空格和星號數量,并使用 `echo -n` 輸出適當數量的空格,對于星號,我們也使用了一個回圈來輸出適當數量的星號,并使用 `$colors` 陣列為每個星號選擇正確的顏色,最后,我們使用 `echo ""` 來在每行末尾輸出一個換行,確保每行之間都有一個空白行,
***/

推薦閱讀:
https://mp.weixin.qq.com/s/dV2JzXfgjDdCmWRmE0glDA
https://mp.weixin.qq.com/s/an83QZOWXHqll3SGPYTL5g
參考文章:https://mp.weixin.qq.com/s/dV2JzXfgjDdCmWRmE0glDA

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/553588.html

標籤:其他

上一篇:Ubuntu22.04 安裝單機版kubernetes

下一篇:返回列表

標籤雲
其他(159833) Python(38173) JavaScript(25458) Java(18138) C(15231) 區塊鏈(8268) C#(7972) AI(7469) 爪哇(7425) MySQL(7213) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5873) 数组(5741) R(5409) Linux(5343) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4576) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2434) ASP.NET(2403) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) .NET技术(1977) 功能(1967) Web開發(1951) HtmlCss(1948) C++(1922) python-3.x(1918) 弹簧靴(1913) xml(1889) PostgreSQL(1878) .NETCore(1862) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 網閘典型架構簡述

    網閘架構一般分為兩種:三主機的三系統架構網閘和雙主機的2+1架構網閘。 三主機架構分別為內端機、外端機和仲裁機。三機無論從軟體和硬體上均各自獨立。首先從硬體上來看,三機都用各自獨立的主板、記憶體及存盤設備。從軟體上來看,三機有各自獨立的作業系統。這樣能達到完全的三機獨立。對于“2+1”系統,“2”分為 ......

    uj5u.com 2020-09-10 02:00:44 more
  • 如何從xshell上傳檔案到centos linux虛擬機里

    如何從xshell上傳檔案到centos linux虛擬機里及:虛擬機CentOs下執行 yum -y install lrzsz命令,出現錯誤:鏡像無法找到軟體包 前言 一、安裝lrzsz步驟 二、上傳檔案 三、遇到的問題及解決方案 總結 前言 提示:其實很簡單,往虛擬機上安裝一個上傳檔案的工具 ......

    uj5u.com 2020-09-10 02:00:47 more
  • 一、SQLMAP入門

    一、SQLMAP入門 1、判斷是否存在注入 sqlmap.py -u 網址/id=1 id=1不可缺少。當注入點后面的引數大于兩個時。需要加雙引號, sqlmap.py -u "網址/id=1&uid=1" 2、判斷文本中的請求是否存在注入 從文本中加載http請求,SQLMAP可以從一個文本檔案中 ......

    uj5u.com 2020-09-10 02:00:50 more
  • Metasploit 簡單使用教程

    metasploit 簡單使用教程 浩先生, 2020-08-28 16:18:25 分類專欄: kail 網路安全 linux 文章標簽: linux資訊安全 編輯 著作權 metasploit 使用教程 前言 一、Metasploit是什么? 二、準備作業 三、具體步驟 前言 Msfconsole ......

    uj5u.com 2020-09-10 02:00:53 more
  • 游戲逆向之驅動層與用戶層通訊

    驅動層代碼: #pragma once #include <ntifs.h> #define add_code CTL_CODE(FILE_DEVICE_UNKNOWN,0x800,METHOD_BUFFERED,FILE_ANY_ACCESS) /* 更多游戲逆向視頻www.yxfzedu.com ......

    uj5u.com 2020-09-10 02:00:56 more
  • 北斗電力時鐘(北斗授時服務器)讓網路資料更精準

    北斗電力時鐘(北斗授時服務器)讓網路資料更精準 北斗電力時鐘(北斗授時服務器)讓網路資料更精準 京準電子科技官微——ahjzsz 近幾年,資訊技術的得了快速發展,互聯網在逐漸普及,其在人們生活和生產中都得到了廣泛應用,并且取得了不錯的應用效果。計算機網路資訊在電力系統中的應用,一方面使電力系統的運行 ......

    uj5u.com 2020-09-10 02:01:03 more
  • 【CTF】CTFHub 技能樹 彩蛋 writeup

    ?碎碎念 CTFHub:https://www.ctfhub.com/ 筆者入門CTF時時剛開始刷的是bugku的舊平臺,后來才有了CTFHub。 感覺不論是網頁UI設計,還是題目質量,賽事跟蹤,工具軟體都做得很不錯。 而且因為獨到的金幣制度的確讓人有一種想去刷題賺金幣的感覺。 個人還是非常喜歡這個 ......

    uj5u.com 2020-09-10 02:04:05 more
  • 02windows基礎操作

    我學到了一下幾點 Windows系統目錄結構與滲透的作用 常見Windows的服務詳解 Windows埠詳解 常用的Windows注冊表詳解 hacker DOS命令詳解(net user / type /md /rd/ dir /cd /net use copy、批處理 等) 利用dos命令制作 ......

    uj5u.com 2020-09-10 02:04:18 more
  • 03.Linux基礎操作

    我學到了以下幾點 01Linux系統介紹02系統安裝,密碼啊破解03Linux常用命令04LAMP 01LINUX windows: win03 8 12 16 19 配置不繁瑣 Linux:redhat,centos(紅帽社區版),Ubuntu server,suse unix:金融機構,證券,銀 ......

    uj5u.com 2020-09-10 02:04:30 more
  • 05HTML

    01HTML介紹 02頭部標簽講解03基礎標簽講解04表單標簽講解 HTML前段語言 js1.了解代碼2.根據代碼 懂得挖掘漏洞 (POST注入/XSS漏洞上傳)3.黑帽seo 白帽seo 客戶網站被黑帽植入劫持代碼如何處理4.熟悉html表單 <html><head><title>TDK標題,描述 ......

    uj5u.com 2020-09-10 02:04:36 more
最新发布
  • 自動化測驗-基礎知識—Bash基礎

    # Bash 在 Bash 中,美元符號 `$` 可以用于參考變數或者運算式的值。Bash 中的變數并不需要事先宣告,而是在第一次賦值時自動創建。基于這個特性,我們可以通過給變數名加上 `$` 的方式來參考它的值,比如 `$var` 表示參考變數 var 的值。 在 Bash 中,使用 `$` 還有 ......

    uj5u.com 2023-05-28 08:09:58 more
  • Ubuntu22.04 安裝單機版kubernetes

    # 前言 上期講到要實作.net 6框架下的EF Core操作資料庫基本增刪改查,沒有及時兌現。沒有兌現的原因就是因為安裝kubernetes。安裝kubernetes的程序是災難性的,也是十分順利的。災難性是因為在安裝kubernetes程序中誤操作,在/etc下執行了一個重置的命令導致我的作業站 ......

    uj5u.com 2023-05-28 08:09:47 more
  • 控制結構

    ```plaintext # 控制結構 ## 判斷陳述句 基于一定的條件判斷是否要執行代碼 一般結構: ```jupyter if : elif : else: ``` 例如: ```jupyter x = 0 if x > 0: print "x is positive" elif x == 0: ......

    uj5u.com 2023-05-28 08:09:18 more
  • 如何讓ChatGPT生成Midjourney提示詞

    ? 導讀:最近AI繪畫非常的火,今天我們看ChatGPT如何生成Midjourney提示詞,讓AI教AI做事。 本文字數:900,閱讀時長大約:3分鐘 正如 Midjourney 的官方網站報道的那樣,提供作業提示(Prompt)是一項碰運氣的業務。從單個表情符號或單詞都可以生成影像,但自然地結果可 ......

    uj5u.com 2023-05-28 08:09:07 more
  • 人工智能導論——機器人自動走迷宮&強化學習

    # 一、問題重述 強化學習是機器學習中重要的學習方法之一,與監督學習和非監督學習不同,強化學習并不依賴于資料,并不是資料驅動的學習方法,其旨在與發揮智能體(Agent)的主觀能動性,在當前的狀態(state)下,通過與環境的互動,通過對應的策略,采用對應的行動(action),獲得一定的獎賞(rew ......

    uj5u.com 2023-05-28 08:08:41 more
  • 索引與分片

    # 索引與切片 ## 索引 在許多編程語言中,都有可以通過索引訪問值的資料結構。 比如說c++的陣列,字串。 在python中,也有許多資料結構可以通過索引訪問值。 ***訪問字串中某一個字符***: ```jupyter s = 'sadas' s[1] ``` ***訪問串列中某一個元素** ......

    uj5u.com 2023-05-28 08:08:25 more
  • 未來邊緣計算:趨于分布式智能

    摘要:AIoT的使能技術有很多,本次主要講云計算和分布式云,即Edge cloud,它帶來了實時性。 本文分享自華為云社區《未來邊緣計算:趨于分布式智能》,作者:曹建農 / 香港理工大學研究生院院長、IEEE Fellow、歐洲科學院院士。 在過去十幾年中,云計算已經成為主流技術,改變了很多工業、政 ......

    uj5u.com 2023-05-28 08:08:13 more
  • 23 Windows Sever 201服務器系統的安裝以及遠程控制的設定與使用

    # 老陳很久沒有寫個博客了,最近忽然用到了服務器,安裝WindowsSever2019系統以及遠程控制的設定條目挺多,想著記錄一下,給有需要的人,寫完了沒保存,裂開,又重新寫了一遍 ==介紹共分為以下幾步:== 一、安裝Windows2019Sever系統到電腦(or服務器); 二、WindowsS ......

    uj5u.com 2023-05-28 08:02:03 more
  • 軟體測驗職業生涯需要撰寫的全套檔案模板,收藏這一篇就夠了(附檔

    作為一名測驗工程師,在整個的職業生涯中,會涉及到各種不同型別的檔案撰寫,大體包括如下: 對應檔案模板及檔案撰寫視頻如下: 一、測驗崗位必備的檔案 在一個常規的軟體測驗流程中,會涉及到測驗計劃、測驗方案、測驗用例、測驗報告的撰寫,這些檔案也是軟體測驗崗位必須掌握的檔案型別。 1、測驗計劃 測驗計劃是組 ......

    uj5u.com 2023-05-28 07:59:29 more
  • [SWPUCTF 2021 新生賽]pop

    ![](https://img2023.cnblogs.com/blog/3180821/202305/3180821-20230527154746502-211535689.png) **很明顯了 反序列化 pop** 構造pop鏈,主要還是 死盯 反序列化的魔法函式 從__destruct()入 ......

    uj5u.com 2023-05-28 07:59:07 more