sh裡的變數 0 1

2021-07-23 05:20:43 字數 1101 閱讀 5631

$0就是該bash檔名

$?顯示最後命令的退出狀態。0表示沒有錯誤,其他任何值表明有錯誤。

$*所有位置引數的內容:就是呼叫呼叫本bash shell的引數。

$@基本上與上面相同。只不過是

「$*」返回的是乙個字串,字串中存在多外空格。

「$@」返回多個字串。

還有$#返回所有位置引數的個數。

$$執行當前sh檔案的pid
# touch variable

# vi variable

指令碼內容如下:

#!/bin/sh

echo "number:$#"

echo "scname:$0"

echo "first :$1"

echo "second:$2"

echo "argume:$@"

echo "show parm list:$*"

echo "show process id:$$"

echo "show precomm stat: $?"

儲存退出

賦予指令碼執行許可權

# chmod +x variable

執行指令碼

# ./variable aa bb

number:2

scname:./variable

first:aa

second:bb

argume:aa bb

show parm list:aa bb

show process id:24544

show precomm stat:0

通過顯示結果可以看到:

$# 是傳給指令碼的引數個數

$0 是指令碼本身的名字

$1 是傳遞給該shell指令碼的第乙個引數

$2 是傳遞給該shell指令碼的第二個引數

$@ 是傳給指令碼的所有引數的列表

$* 是以乙個單字串顯示所有向指令碼傳遞的引數,與位置變數不同,引數可超過9個

$$ 是指令碼執行的當前程序id號

$? 是顯示最後命令的退出狀態,0表示沒有錯誤,其他表示有錯誤

sh裡 時間格式的寫法

man date可以看到date的help檔案 date 獲取當前時間 date d 1week y m d 獲取上週日期 day,month,year,hour date date 24 hour y m d 同上 date now date s shell指令碼裡面賦給變數值 輸出 符號 a 當...

Ruby Class裡的變數

class variables 用於描述屬於class 的 states,而非屬於某個object的states 1.表現形式 var 2.屬於特定的class而不是object 3.在使用前,必須初始化 class song plays 0 def initialize name,artist,d...

MySQL裡的變數分系統變數和使用者變數

mysql裡的變數分系統變數和使用者變數 mysql裡的變數分系統變數和使用者變數.系統變數 其中系統變數,又分全域性 global 和會話 session 兩種.全域性系統變數,主要影響整個mysql例項的全域性設定.大部分變數都是作為mysql的伺服器調節引數存在.新增或修改這類變數,會影響my...