在 Bash 指令碼中使用 shift 命令

Fumbani Banda 2024年2月15日
在 Bash 指令碼中使用 shift 命令

在類 Unix 作業系統中,shift 命令是 Bash shell 中的內建命令,它使引數的索引從移位位置 N 開始。該命令刪除列表中的第一個引數。

shift 命令只接受一個引數,一個 integer

在 Bash 指令碼中使用 shift 命令

下面的 bash 指令碼演示瞭如何使用 shift 命令。bash 指令碼有一個 add 函式,在函式內部,我們有三個部分。

每個部分新增兩個數字並列印總和。bash 指令碼的最後一行呼叫函式並將 5 引數傳遞給函式。

例子:

#!/bin/bash

add(){
  echo "Using default shift value"
  sum=`expr $1 + $2`
  echo \$1=$1
  echo \$2=$1
  echo "sum="$sum
  echo "------------"

  echo "Passing the integer,1, to the shift command"
  shift 1
  sum1=`expr $1 + $2`
  echo \$1=$1
  echo \$2=$2
  echo "sum="$sum1
  echo "------------"

  echo "Passing the integer,2, to the shift command"
  shift 2
  sum3=`expr $1 + $2`
  echo \$1=$1
  echo \$2=$2
  echo "sum="$sum3
}

add 1 2 3 4 5

輸出:

bash 指令碼中的 shift 命令

add 函式的第一部分不使用 shift 命令。

從上面的 bash 指令碼中,變數 $1 將採用 1$2 將採用 2。數字的總和將是 3

第二部分將整數 1 傳遞給 shift 命令。我們忽略傳遞給函式的第一個引數,因為第一個引數將是第二個引數,下一個引數將是第三個引數,依此類推。

變數 $1 將採用值 2,而變數 $2 將採用 3。變數值的總和為 5

最後一部分將整數 2 傳遞給 shift 命令。我們在第二個和第三個引數中忽略了 23

我們將開始計算第一個引數為 4,第二個引數為 5。兩個引數的和是 9

作者: Fumbani Banda
Fumbani Banda avatar Fumbani Banda avatar

Fumbani is a tech enthusiast. He enjoys writing on Linux and Python as well as contributing to open-source projects.

LinkedIn GitHub

相關文章 - Bash Command