Linux運維常用的Shell參數及實例

一、基本參數

1、-f參數:指定Shell腳本文件名

#!/bin/bash
echo "Hello World"

執行:./test.sh

輸出:Hello World

2、-n參數:不執行腳本內容,用於檢查語法錯誤

#!/bin/bash -n
echo "Hello World"

執行:./test.sh

輸出:無,因為腳本沒有實際執行。

3、-x參數:列印執行的每一條命令及結果

#!/bin/bash -x
ls
pwd

執行:./test.sh

輸出:

ls

file1 file2

pwd

/home/user/test

二、標準輸入輸出參數

1、重定向標準輸出到文件

#!/bin/bash
echo "Hello World" > output.txt

執行:./test.sh

輸出:output.txt文件中包含字元串”Hello World”

2、從文件中讀取輸入

#!/bin/bash
read name
echo "Hello $name"

執行:./test.sh \< input.txt

輸入:John

輸出:Hello John

3、將命令的標準輸出重定向到標準錯誤輸出

#!/bin/bash
ls /fake/dir 2>&1 >&2

執行:./test.sh

輸出:ls: cannot access ‘/fake/dir’: No such file or directory

三、參數替換

1、${var}替換成變數var的值

#!/bin/bash
var="World"
echo "Hello ${var}"

執行:./test.sh

輸出:Hello World

2、${var:-default}如果var未定義,則使用默認值default

#!/bin/bash
echo "Hello ${var:-World}"

執行:./test.sh

輸出:Hello World

3、${var:=default}如果var未定義,則設置為默認值default

#!/bin/bash
echo "Hello ${var:=World}"
echo "var is now set to $var"

執行:./test.sh

輸出:

Hello World

var is now set to World

4、${var:+othervalue}如果變數var被設置,則使用othervalue

#!/bin/bash
var="Hello"
echo "${var:+World}"
echo "${var:+Everyone}"

執行:./test.sh

輸出:

World

Everyone

四、通配符

1、*匹配任意長度的任何內容

#!/bin/bash
for file in *
do
    echo "$file"
done

執行:./test.sh

輸出:當前目錄下的所有文件和目錄名稱

2、?匹配一個字元

#!/bin/bash
ls ????

執行:./test.sh

輸出:列出4個字元長的文件名

3、[]匹配中括弧中任意一個字元

#!/bin/bash
ls [abc]*

執行:./test.sh

輸出:列出以a、b、c開頭的文件名

五、管道

1、將ls命令的輸出通過管道符號發送給grep命令,用於搜索:

#!/bin/bash
ls | grep "file"

執行:./test.sh

輸出:列出所有文件名中包含”file”的文件

2、將ping命令的輸出通過管道符號發送給awk命令,用於處理:

#!/bin/bash
ping -c 3 www.google.com | awk '/^rtt/ { print $4 }'

執行:./test.sh

輸出:ping的三次響應時間

六、條件語句

1、if語句

#!/bin/bash
if [ -f file.txt ]
then
    echo "file.txt exists"
else
    echo "file.txt does not exist"
fi

執行:./test.sh

輸出:如果當前目錄下存在file.txt文件,則輸出”file.txt exists”,否則輸出”file.txt does not exist”

2、case語句

#!/bin/bash
echo "Enter a number between 1 and 3: "
read num
case $num in
    1)
        echo "You entered 1"
        ;;
    2)
        echo "You entered 2"
        ;;
    3)
        echo "You entered 3"
        ;;
    *)
        echo "Invalid input"
        ;;
esac

執行:./test.sh

輸入:2

輸出:You entered 2

七、循環語句

1、for循環

#!/bin/bash
for i in {1..5}
do
    echo "Count: $i"
done

執行:./test.sh

輸出:

Count: 1

Count: 2

Count: 3

Count: 4

Count: 5

2、while循環

#!/bin/bash
i=5
while [ $i -gt 0 ]
do
    echo "Count: $i"
    i=$((i - 1))
done

執行:./test.sh

輸出:

Count: 5

Count: 4

Count: 3

Count: 2

Count: 1

3、until循環

#!/bin/bash
i=1
until [ $i -gt 5 ]
do
    echo "Count: $i"
    i=$((i + 1))
done

執行:./test.sh

輸出:

Count: 1

Count: 2

Count: 3

Count: 4

Count: 5

八、函數

1、定義函數

#!/bin/bash
function print_input {
    echo "You entered: $1"
}
print_input "Hello World"

執行:./test.sh

輸出:You entered: Hello World

2、函數返回值

#!/bin/bash
function calc_sum {
    total=$(( $1 + $2 ))
    echo $total
}
result=$(calc_sum 10 20)
echo "The result is: $result"

執行:./test.sh

輸出:The result is: 30

以上是Linux運維常用的Shell參數及實例的介紹,可以在日常的運維工作中大顯身手!

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/256613.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-15 12:41
下一篇 2024-12-15 12:41

相關推薦

  • 三星內存條參數用法介紹

    本文將詳細解釋三星內存條上面的各種參數,讓你更好地了解內存條並選擇適合自己的一款。 一、容量大小 容量大小是內存條最基本的參數,一般以GB為單位表示,常見的有2GB、4GB、8GB…

    編程 2025-04-29
  • Python 常用資料庫有哪些?

    在Python編程中,資料庫是不可或缺的一部分。隨著互聯網應用的不斷擴大,處理海量數據已成為一種趨勢。Python有許多成熟的資料庫管理系統,接下來我們將從多個方面介紹Python…

    編程 2025-04-29
  • Python3定義函數參數類型

    Python是一門動態類型語言,不需要在定義變數時顯示的指定變數類型,但是Python3中提供了函數參數類型的聲明功能,在函數定義時明確定義參數類型。在函數的形參後面加上冒號(:)…

    編程 2025-04-29
  • Python生成隨機數的應用和實例

    本文將向您介紹如何使用Python生成50個60到100之間的隨機數,並將列舉使用隨機數的幾個實際應用場景。 一、生成隨機數的代碼示例 import random # 生成50個6…

    編程 2025-04-29
  • Spring Boot中發GET請求參數的處理

    本文將詳細介紹如何在Spring Boot中處理GET請求參數,並給出完整的代碼示例。 一、Spring Boot的GET請求參數基礎 在Spring Boot中,處理GET請求參…

    編程 2025-04-29
  • Python input參數變數用法介紹

    本文將從多個方面對Python input括弧里參數變數進行闡述與詳解,並提供相應的代碼示例。 一、基本介紹 Python input()函數用於獲取用戶輸入。當程序運行到inpu…

    編程 2025-04-29
  • Python Class括弧中的參數用法介紹

    本文將對Python中類的括弧中的參數進行詳細解析,以幫助初學者熟悉和掌握類的創建以及參數設置。 一、Class的基本定義 在Python中,通過使用關鍵字class來定義類。類包…

    編程 2025-04-29
  • Hibernate日誌列印sql參數

    本文將從多個方面介紹如何在Hibernate中列印SQL參數。Hibernate作為一種ORM框架,可以通過列印SQL參數方便開發者調試和優化Hibernate應用。 一、通過配置…

    編程 2025-04-29
  • Python函數名稱相同參數不同:多態

    Python是一門面向對象的編程語言,它強烈支持多態性 一、什麼是多態多態是面向對象三大特性中的一種,它指的是:相同的函數名稱可以有不同的實現方式。也就是說,不同的對象調用同名方法…

    編程 2025-04-29
  • 全能編程開發工程師必知——DTD、XML、XSD以及DTD參數實體

    本文將從大體介紹DTD、XML以及XSD三大知識點,同時深入探究DTD參數實體的作用及實際應用場景。 一、DTD介紹 DTD是文檔類型定義(Document Type Defini…

    編程 2025-04-29

發表回復

登錄後才能評論