Shell 秘典(卷二)——號令延展秘術 與 流程掌控心法?if 天機判語篇精解

文章目錄

  • 前言
  • 一、命令擴展詳解
    • 1.1 邏輯運算符
      • 1.1.1 邏輯與運算符(&&)
      • 1.1.2 邏輯或運算符(||)
      • 1.1.3 組合使用注意事項
    • 1.2 echo 命令
      • 1.2.1 基本用法
      • 1.2.2 輸出到標準錯誤(stderr)
    • 1.3 標準文件描述符(FD)
      • 1.3.1 文件描述符說明
      • 1.3.2 示例演示
    • 1.4 重定向操作
      • 1.4.1 覆蓋重定向(>)
      • 1.4.2 追加重定向(>>)
      • 1.4.3 錯誤輸出重定向(2> / 2>>)
    • 1.5 同時重定向 stdout 與 stderr
      • 1.5.1 POSIX 推薦寫法
      • 1.5.2 Bash 簡寫形式
    • 1.6 丟棄輸出:/dev/null
      • 1.6.1 丟棄 stdout
      • 1.6.2 丟棄 stderr
      • 1.6.3 同時丟棄 stdout 和 stderr
    • 1.7 管道(|)與重定向的區別
      • 1.7.1 基本用法
      • 1.7.2 包含 stderr 的管道
    • 1.8 高級技巧:自定義文件描述符
      • 1.8.1 打開與寫入自定義 FD
    • 1.9 小結與備忘
  • 二、流程控制之if條件語句
    • 2.1 流程控制概述
    • 2.2 if 格式1:單支
    • 2.3 if 格式2:雙支
    • 2.4 if 格式3:多支
  • 總結

前言

Shell 秘典,乃 Linux/Unix 修仙界中執掌自動化運維、料理日常要務的無上法門。此秘典內蘊的號令組合之玄妙、流程掌控之神通,猶如修仙者手中的本命法寶,能大幅提升修士在系統界域內的管理修為,助其輕松應對各類繁雜事務。?

本文決意深入拆解 Shell 秘典中的號令延展秘術 —— 諸如邏輯運化符、重定向術、管道通玄術等,更會詳解流程掌控心法?if 天機判語篇。行文之間,將輔以海量修仙實例與真實界域應用場景,如同修仙大能親授秘籍,引領諸位修士洞悉 Shell 秘典的核心符文與編程神通。?

無論你是初入 Linux/Unix 修仙界、剛觸摸修行門檻的萌新修士,還是渴望夯實基礎、突破修為瓶頸的中級行者,這篇修仙指南都將為你奉上清晰明了、實用至極的修行指引,助你在 Shell 秘典的修行之路上暢通無阻,早日修成運維大道,成為一方系統界域的掌控者。


一、命令擴展詳解

1.1 邏輯運算符

1.1.1 邏輯與運算符(&&)

含義:
僅當左側命令執行成功(即退出狀態碼為 0)時,才執行右側的命令。

示例:

false && echo "成功"
# 無輸出,因為 `false` 失敗(退出碼非0),右側命令不執行true && echo "成功"
成功
# true 成功(退出碼為0),因此執行 echo 命令

在這里插入圖片描述

1.1.2 邏輯或運算符(||)

含義:
僅當左側命令執行失敗(即退出狀態碼非 0)時,才執行右側的命令。

示例:

false || echo "左側失敗,執行此處"
左側失敗,執行此處true || echo "不會執行"
# 無輸出,因為 true 成功,右側命令不執行

在這里插入圖片描述

1.1.3 組合使用注意事項

說明:
A && B || C 從左到右結合,等價于 (A && B) || C

示例:

false && echo yes || echo fallback
fallback
# 因為 (false && echo yes) 不成立,于是執行 || 后面的 echo fallback

在這里插入圖片描述


1.2 echo 命令

1.2.1 基本用法

含義:
將文本內容輸出到標準輸出(stdout,文件描述符為 1)。

示例:

echo "hello world"
hello world

在這里插入圖片描述

1.2.2 輸出到標準錯誤(stderr)

方法:
使用重定向 >&2 將文本發送到標準錯誤(stderr,文件描述符為 2)。

示例:

echo "this is error" >&2
# 文本將輸出到 stderr

在這里插入圖片描述


1.3 標準文件描述符(FD)

1.3.1 文件描述符說明

  • 0:stdin(標準輸入)
  • 1:stdout(標準輸出)
  • 2:stderr(標準錯誤)

1.3.2 示例演示

分別輸出到 stdout 和 stderr:

echo "out"
out # 輸出到 stdoutecho "err" >&2
err # 輸出到 stderr

在這里插入圖片描述

只重定向 stdout,stderr 仍顯示在終端:

ls /no/such/path >out.txt
# 終端顯示錯誤信息(stderr),out.txt 為空或不存在

在這里插入圖片描述


1.4 重定向操作

  • > 把 stdout 寫到文件(覆蓋原內容)
  • >> 把 stdout 追加到文件末尾

1.4.1 覆蓋重定向(>)

含義:
將 stdout 寫入文件,若文件已存在則覆蓋原有內容。

示例:

echo "first" > file.txt
echo "second" > file.txt
cat file.txt
second

在這里插入圖片描述

1.4.2 追加重定向(>>)

含義:
將 stdout 追加到文件末尾,不覆蓋原有內容。

示例:

echo "first" > file.txt
echo "second" >> file.txt
cat file.txt
first
second

在這里插入圖片描述

1.4.3 錯誤輸出重定向(2> / 2>>)

含義:
將 stderr(文件描述符 2)重定向到文件,支持覆蓋或追加。

示例(覆蓋):

ls /no/such/path 2>err.txt
cat err.txt
ls: cannot access '/no/such/path': No such file or directory

在這里插入圖片描述

示例(追加):

ls /no/such/path 2>>err.txt

在這里插入圖片描述


1.5 同時重定向 stdout 與 stderr

1.5.1 POSIX 推薦寫法

格式:
command >out.txt 2>&1

含義:
先將 stdout 重定向到文件,再將 stderr 重定向到當前 stdout 指向的位置(即out.txt文件)。

示例:

bash -c 'echo out; echo err >&2' >both.txt 2>&1
cat both.txt
out
err

在這里插入圖片描述

注意順序:
以下寫法會導致 stderr 仍輸出到終端:

bash -c 'echo out; echo err >&2' 2>&1 >both.txt

這條會把 stderr 重定向到 最初的 stdout(終端),然后再把 stdout 重定向到文件,結果是:錯誤仍打印到終端,而文件里只有 stdout 內容。
在這里插入圖片描述

1.5.2 Bash 簡寫形式

格式:
command &>filecommand |& other

說明:

  • &>:將 stdout 和 stderr 都寫入文件(Bash 特性)
  • |&:將 stdout 和 stderr 都送入管道(Bash/Zsh 特性)

示例:

bash -c 'echo out; echo err >&2' &> both.txt
cat both.txt
out
err

在這里插入圖片描述


1.6 丟棄輸出:/dev/null

1.6.1 丟棄 stdout

含義:把不想要的輸出重定向到 /dev/null (黑洞)。
示例:只保留 stderr,丟棄 stdout:
方法:

some_command > /dev/null

在這里插入圖片描述

1.6.2 丟棄 stderr

方法:

some_command 2> /dev/null

在這里插入圖片描述

1.6.3 同時丟棄 stdout 和 stderr

方法(POSIX):

some_command > /dev/null 2>&1

方法(Bash 簡寫):

some_command &> /dev/null

在這里插入圖片描述


1.7 管道(|)與重定向的區別

含義:把前一個命令的 stdout 作為下一個命令的 stdin。默認只傳輸 stdout,不包含 stderr(除非你把stderr 重定向到 stdout)。

1.7.1 基本用法

含義:
將前一個命令的 stdout 作為下一個命令的 stdin。默認不包含 stderr。

示例:

echo -e "apple\nbanana" | grep banana
banana

在這里插入圖片描述

1.7.2 包含 stderr 的管道

方法:

command 2>&1 | grep something
# 或使用 Bash 簡寫:
command |& grep something

示例:

# sed -n 'P' 等價于 cat
bash -c 'echo out; echo err >&2' 2>&1 | sed -n 'p'
out
err

在這里插入圖片描述


1.8 高級技巧:自定義文件描述符

1.8.1 打開與寫入自定義 FD

方法:
使用 exec 打開一個新的文件描述符,并寫入內容。

示例:

exec 3>mylog.txt   # 將文件描述符 3 重定向到文件mylog.txt
echo "hello" >&3   # 將 "hello" 寫入到文件描述符 3 關聯的文件(即 mylog.txt)
exec 3>&-     # 釋放文件描述符 3 的資源,確保文件被正確關閉
cat mylog.txt
hello

說明:
該技巧常用于腳本中管理多個日志流或輸出通道。
在這里插入圖片描述


1.9 小結與備忘

  • &&:左側成功才執行右側
  • ||:左側失敗才執行右側
  • >:覆蓋 stdout,>>:追加 stdout
  • 2>2>>:用于重定向 stderr
  • 將 stderr 重定向到 stdout:2>&1(注意順序)
  • 同時重定向 stdout 和 stderr:
    • POSIX:>file 2>&1
    • Bash:&>file
  • 丟棄輸出:/dev/null,可配合 2>/dev/null&>/dev/null
  • 管道 | 默認只傳輸 stdout;需傳輸兩者時使用 2>&1 ||&(Bash)

二、流程控制之if條件語句

2.1 流程控制概述

任何程序都有默認的執行流程,通常是從上向下逐行依次執行。

#!/bin/bash #先執行的第1行
num=100 #第2行
((num++)) #第3行
echo $num #第4行
.........

要控制程序的默認執行流程,可以使用流程控制語句:

  • 選擇結構:選擇性執行特定代碼段
  • 循環結構:重復執行代碼段,直到滿足終止條件(通過條件控制循環次數)

Shell提供了多種判斷方式,支持對數字、字符串和文件的操作。

2.2 if 格式1:單支

if [ 條件 ]; then
命令…
fi

執行機制:判斷一次,僅有一個結果

  • 條件成立(true):執行命令
  • 條件失敗(false):沒有任何執行

示例:

#!/bin/bash
num1=$1  #第一個參數賦值給num1
num2=$2
if [ $num1 -gt $num2 ]; thenecho "$num1 大于 $num2"
fi## 執行shell程序
./ifdemo.sh 10 5 

在這里插入圖片描述

案例1:ls /mnt 如果執行成功,輸出 it’s OK

#!/bin/bash
if ls /mnt  # ls /mnt執行成功,輸出 it's OK
thenecho " it's OK"
fi

在這里插入圖片描述
在這里插入圖片描述

2.3 if 格式2:雙支

if [ 條件 ]; then
命令1…
else
命令2…
fi

執行機制:判斷一次條件,有兩個不同結果

  • 條件成立(true):執行 then 后面的代碼(命令1)
  • 條件失敗(false):執行 else 后面的代碼(命令2)

示例:

#!/bin/bash
num1=$1  #第一個參數賦值給num1
num2=$2
if [ $num1 -qt $num2 ]; thenecho "$num1 大于 $num2"
elseecho "$num1 小于 $num2"
fi

在這里插入圖片描述

分別執行./ifdemo.sh 10 5./ifdemo.sh 5 10查看結果:

./ifdemo.sh 10 5
./ifdemo.sh 5 10

在這里插入圖片描述
案例1:判斷當前登錄用戶是不是管理員

#!/bin/bash
if [ $UID -eq 0 ]; thenecho "當前用戶是管理員"
elseecho "當前用戶是普通用戶"
fi

在這里插入圖片描述

在這里插入圖片描述

案例2:判斷目錄是否存在

#!/bin/bash
read -p "檢查目錄是否存在, 請輸入目錄:" aa
if  ls $aa  > /dev/null
thenecho "目錄存在"
elseecho "請輸入正確路徑"
fi

在這里插入圖片描述

在這里插入圖片描述
案例3:校驗httpd服務是否啟動

#!/bin/bash
if netstat -antulp| grep ":80" &> /dev/null; thenecho "web網站服務已經運行了!"  
elseecho "啟動httpd服務"if rpm -q httpd &> /dev/null; thenecho "httpd服務已安裝,啟動httpd服務"systemctl restart httpdelseecho "httpd服務未安裝,開始下載httpd服務"yum install -y httpd > /dev/nullsystemctl restart httpdfiecho "httpd服務已啟動!"
fi

在這里插入圖片描述

在這里插入圖片描述

案例4:校驗ip是否可以ping通

#!/bin/bash
#ip=$1
read -p "請輸入IP:" ip
#-c 次數  -i ping一次多少秒 -W 反饋結果的時間
ping -c 2 -i 0.2 -W 3 $ip &> /dev/nullif [ $? -eq 0 ];thenecho "$ip is up "
elseecho "$ip is down"
fi

在這里插入圖片描述

在這里插入圖片描述

2.4 if 格式3:多支

if [ 條件1 ]; then
命令1…
elif [ 條件2 ]; then
命令2
......elif
else
默認命令…
fi

執行機制:系統會依次檢查多個判斷條件,一旦某個條件成立,則執行對應的操作并終止后續判斷;若所有條件均不滿足,則執行默認操作。

例如,若第1個條件成立,則僅執行命令1,跳過其余條件判斷。

示例:

#!/bin/bash
read -p "請輸入您的分數" score
if [ $score -ge 90 ]; thenecho "優秀"  # 分數>=90 優秀
elif [ $score -ge 80 ]; thenecho "良好"  # 80<=分數<90 良好
elif [ $score -ge 60 ]; thenecho "及格"
elseecho "不及格"
fi# 執行腳本
./ifdemo.sh

在這里插入圖片描述

案例1:判斷用戶輸入數字是奇數還是偶數

#!/bin/bash
read -p "請輸入一個整數" num
if [ $[num % 2] -eq 0 ]; thenecho "$num 是偶數"
elseecho "$num 是奇數"
fi

在這里插入圖片描述

案例2:用戶輸入兩個數,判斷大小

#!/bin/bash
read -p "請輸入第一個整數" num1
read -p "請輸入第二個整數" num2
if [ $num1 -gt $num2 ];thenecho "$num1 > $num2"
elif [ $num1 -lt $num2 ];thenecho "$num1 < $num2"
elseecho "$num1 = $num2"
fi

在這里插入圖片描述

在這里插入圖片描述
案例3:判斷文件類型 d f b

#!/bin/bash
read -p "輸入一個文件名:" filename
if [ -z $filename ] || [ ! -e $filename ]; thenecho "文件不存在"
elif [ -f $filename ]; thenecho "$filename 是普通文件"
elif [ -d $filename ]; thenecho "$filename 是目錄"
elif [ -b $filename ]; thenecho "$filename 是塊設備文件"
elseecho "母雞呀"
fi

在這里插入圖片描述

在這里插入圖片描述
案例4:根據時間判斷時間段

#!/bin/bash
#1、定義時間變量
a=$(date +%H)
#2、定義時間段  早上
if [ $a -ge 6 -a $a -lt 11 ];thenecho "現在時間是早上$a點"
#3、定義時間段 中午
elif [ $a -ge 11 -a $a -lt 13 ];thenecho "現在時間是中午$a點"
#4、定義時間段 下午
elif [ $a -ge 13 -a $a -lt 18 ];thenecho "現在時間是下午$a點"
#5、定時間段 晚上
elif [ $a -ge 18 -a $a -lt 24 ];thenecho "現在時間是晚上$a點"
else echo "現在時間是凌晨 $a 點"
f

在這里插入圖片描述
在這里插入圖片描述


總結

本文以修仙傳承之法,系統拆解 Shell 秘典兩大核心修行要訣:其一為號令延展秘術(命令擴展),可助修士靈活運化界域指令,如御萬千法符組百變神通;其二是流程掌控心法?if 天機判語篇(流程控制之 if 條件語句),能勘破事務邏輯,依情境決斷應對之策,乃執掌系統界域的根基。

二者相輔相成,構 Shell 修仙法門核心骨架。唯有融會貫通此兩大要訣,方能在 Linux/Unix 界域修行中筑牢道基,為后續探尋高深運維通天術法鋪路。

號令延展秘術(命令擴展)部分,我們詳細講解了:

  • 邏輯運算符 &&|| 的使用場景與執行機制;
  • echo 命令的輸出控制與重定向技巧;
  • 標準文件描述符(stdin、stdout、stderr)的作用與重定向方法;
  • 如何同時處理 stdout 和 stderr,以及如何丟棄不必要的輸出;
  • 管道與重定向的區別與聯合使用;
  • 高級技巧如自定義文件描述符的打開與關閉。

流程掌控心法?if 天機判語篇部分,我們重點剖析了 if 條件語句的三種結構:

  • 單支結構:條件成立時執行特定命令;
  • 雙支結構:根據條件成立與否分別執行不同命令;
  • 多支結構:依次判斷多個條件,執行第一個成立的條件對應的命令。

通過多場修仙實戰歷練 —— 諸如靈脈服務狀態勘驗(服務狀態檢查)、界域網絡通玄測試(網絡連通性測試)、寶器文件品類辨識(文件類型判斷)等,吾等將展演 if 天機判語在系統界域執掌中的典型妙用,助力諸位修士洞悉其運轉玄機,習得煉制穩固腳本秘寶的神通。
?
悟透這些基礎符文奧義與編程玄功,非但能提升腳本秘寶的煉制效率,更可增強秘寶的穩固性與可修繕性,為后續修習更繁復的自動化通天術法筑牢根基,助你在 Linux/Unix 修仙界的修行之路更上一層樓,早日具備執掌復雜系統界域的大能。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/94915.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/94915.shtml
英文地址,請注明出處:http://en.pswp.cn/web/94915.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Agent實戰教程:深度解析async異步編程在Langgraph中的性能優化

在現代Python開發中&#xff0c;異步編程已經成為提高程序性能的重要手段&#xff0c;特別是在處理網絡請求、數據庫操作或AI模型調用等耗時操作時。本文將通過實際的LangGraph 示例&#xff0c;深入解析async的真正作用&#xff0c;并揭示一個常見誤區&#xff1a;為什么異步順…

coalesce在sql中什么作用

COALESCE?是SQL中的一個函數&#xff0c;用于返回參數列表中的第一個非空值&#xff0c;若所有參數均為NULL則返回NULL&#xff0c;常用于處理數據中的空值情況。 ?核心功能與語法? COALESCE函數的基本語法為&#xff1a;COALESCE(expression1, expression2, ..., express…

【Rust】 6. 字符串學習筆記

一、Rust 字符串概述 Rust 字符串是 UTF-8 編碼的文本序列&#xff0c;提供兩種主要類型&#xff1a; &str - 字符串切片&#xff08;通常作為引用出現&#xff09;String - 動態可變的、擁有所有權的字符串 二、字符串字面量 (&str) 編譯時已知大小&#xff0c;靜態分…

達夢數據庫-數據文件 (二)

達夢數據庫-數據文件&#xff08;二&#xff09;-自動監控達夢數據庫表空間使用率的 Shell 腳本 自動監控達夢數據庫表空間使用率的 Shell 腳本&#xff0c;支持&#xff1a; ? 實時計算每個表空間的使用率? 設置閾值告警&#xff08;如 >80%&#xff09;? 支持郵件告警&…

如何用 Android 平臺開發第一個 Kotlin 小程序

安裝開發環境下載并安裝最新版 Android Studio&#xff08;官方 IDE&#xff09;&#xff0c;安裝時勾選 Kotlin 插件。確保 JDK 版本為 11 或更高。創建新項目打開 Android Studio 選擇 File > New > New Project&#xff0c;選擇 Empty Activity 模板。在配置界面中&am…

Java常用工具類

異常 (Exception)。程序世界并非總是完美的&#xff0c;異常處理機制就是Java為我們提供的優雅應對錯誤的解決方案。一、為什么需要異常處理&#xff1f;—— 從現實世界說起 想象一下現實生活中的場景&#xff1a; 開車上班&#xff1a;你計劃開車去公司&#xff08;正常流程&…

AWS亞馬遜云賬號注冊指南

AWS是全球領先的云計算平臺&#xff0c;提供廣泛的云服務。賬號注冊是開端&#xff0c;不管是用來學習、搭建個人項目&#xff0c;還是公司項目部署上線需要&#xff0c;都需要進行這一步。提醒&#xff1a;在使用賬戶之前&#xff0c;必須要綁定國際的信用卡&#xff1b;通過我…

云計算學習100天-第31天

Keepalived概念keepalived 是Linux下一個輕量級的高可用解決方案主要是通過虛擬路由冗余協議(VRRP)來實現高可用功能Virtual Router Redundancy Protocol起初就是為了補充LVS功能而設計的&#xff0c;用于監控LVS集群內后端真實服務器狀態后來加入了VRRP的功能&#xff0c;它出…

2025年視覺、先進成像和計算機技術論壇(VAICT 2025)

會議簡介 作為人工智能大數據創新發展論壇的重要分論壇&#xff0c;2025年視覺、先進成像和計算機技術論壇聚焦人工智能感知世界的核心前沿&#xff0c;將于2025年9月18-20日在中國廣州廣東科學館舉行。 視覺與成像技術是智能系統理解環境的關鍵&#xff0c;計算機技術則…

MySQL 與 ClickHouse 深度對比:架構、性能與場景選擇指南

&#x1f31f; 引言&#xff1a;數據時代的引擎之爭 在當今數據驅動的企業環境中&#xff0c;選擇合適的數據庫引擎成為架構設計的關鍵決策。想象這樣一個場景&#xff1a;特斯拉的實時車況分析系統需要在毫秒級延遲下處理數百萬輛汽車的傳感器數據&#xff0c;而某電商平臺的訂…

閉包與內存泄漏:深度解析與應對策略

在 JavaScript 編程中&#xff0c;閉包是一個強大且常用的特性&#xff0c;但如果使用不當&#xff0c;可能會引發內存泄漏問題&#xff0c;影響程序性能甚至導致頁面卡頓。本文將深入剖析閉包導致內存泄漏的原理&#xff0c;結合實例講解&#xff0c;并給出切實可行的避免方法…

open webui源碼分析12-Pipeline

Pipeline是 Open WebUI 的一項創新&#xff0c;它 為任何支持 OpenAI API 規范的 UI 客戶端帶來了模塊化、可定制的工作流 —— 甚至更多功能&#xff01;只需幾行代碼&#xff0c;你就能輕松擴展功能、集成自己的專有邏輯并創建動態工作流。 當你處理計算密集型任務&#xff0…

深入解析 Chromium Mojo IPC:跨進程通信原理與源碼實戰

在現代瀏覽器架構中&#xff0c;多進程設計已經成為標配。Chromium 瀏覽器作為典型的多進程瀏覽器&#xff0c;其瀏覽器進程&#xff08;Browser Process&#xff09;、渲染進程&#xff08;Renderer Process&#xff09;、GPU 進程、Utility 進程等之間的通信&#xff0c;依賴…

【自動化測試】測試分類概述-初步接觸自動化測試

&#x1f525;個人主頁&#xff1a; 中草藥 &#x1f525;專欄&#xff1a;【Java】登神長階 史詩般的Java成神之路 測試分類 了解各種各樣的測試方法分類&#xff0c;不是為了墨守成規按照既定方法區測試&#xff0c;而是已了解思維為核心&#xff0c;并了解一些專業名詞 根…

【Python辦公】快速比較Excel文件中任意兩列數據的一致性

目錄 專欄導讀 項目背景 技術選型 核心技術棧 選型理由 功能特性 ?? 核心功能 ?? 輔助功能 架構設計 整體架構 設計模式 核心代碼解析 1. 類初始化和UI設置 2. 文件選擇和數據加載 3. 數據比較核心算法 4. 結果導出功能 界面設計詳解 布局結構 UI組件選擇 性能優化 1. 內存…

nginx的誕生背景、核心優勢、與 Apache 的對比

下面用“3 個 1 分鐘”幫你快速建立 Nginx 的整體印象&#xff1a; 1 分鐘了解它為何誕生&#xff0c;1 分鐘看懂它的 5 大核心優勢&#xff0c;再花 1 分鐘搞清和 Apache 的關鍵差異。誕生背景&#xff08;2002-2004&#xff09; ? 作者&#xff1a;俄羅斯系統工程師 Igor Sy…

算法題打卡力扣第169題:多數元素(easy)

文章目錄題目描述解法一&#xff1a;暴力解解法二 排序法解法三&#xff1a;Boyer-Moore 投票算法 (最優解)題目描述 解法一&#xff1a;暴力解 定義一個數組C用于存放nums數組中每個數出現的次數&#xff0c;然后再遍歷C&#xff0c;判斷C【i】是否大于? n/2 ?&#xff0c;…

A6.0:PCB的設計流程

第一步&#xff1a;導入網表第二步&#xff1a;結構導入和板框定義1.導入結構文件:加載DXF格式的機械結構圖(含板框、定位孔、限高區)&#xff0c;確保元件布局符合物理約束。2.固定器件預放置:將接插件、按鍵、散熱器等結構敏感元件鎖定到指定位置&#xff0c;避免后期調整沖突…

深度學習在金融訂單簿分析與短期市場預測中的應用

金融訂單簿記錄了市場上買賣雙方的委托訂單信息&#xff0c;包括價格、數量、訂單類型等關鍵要素。其數據具有以下特點&#xff1a; 高頻性&#xff1a;訂單在極短時間內不斷產生與變化&#xff0c;數據更新速度極快&#xff0c;每秒可能產生大量新訂單。序列性&#xff1a;訂單…

C++基礎算法——貪心算法

思想&#xff1a;總是做出在當前看來是最好的選擇 例題一、排隊打水問題 n個人&#xff0c;r個水龍頭&#xff0c;花費時間最少的安排&#xff1f;&#xff08;包含等待時間&#xff09; #include<iostream> #include <bits/stdc.h> using namespace std; int ma…