shell的位置引數和特殊變數

2021-08-25 05:53:28 字數 1133 閱讀 1558

shell中有很多自動複製的變數

常用的位置引數和特殊變數有

$0       相當於c語言main函式的argv[0]

$1 $2 $3....位置引數,相當於argv[1],argv[2],argv[3]

$#       相當於argv -1

$@      表示引數列表(可以用做for的遍歷)

$*        表示引數列表

$?       上一條命令的exit status(0為真  非0為假)

$$       當前程序號

shift     會使引數列表右移一位

#! /bin/sh

echo "the program $0 is now running"

echo "the first parameter is $1"

echo "the second parameter is $2"

echo "the parameter list is $@"

echo "the parameter list is $*"

shift

echo "the first paraneter is $1"

echo "the second paranter is $2"

echo "the parameter list is $@"

echo "the parameter list is $*"

[root@localhost ~]# . test.sh 11 22 33 44

the program -bash is now running

the first parameter is 11

the second parameter is 22

the parameter list is 11 22 33 44

the parameter list is 11 22 33 44

the first paraneter is 22

the second paranter is 33

the parameter list is 22 33 44

the parameter list is 22 33 44

shell語法(位置引數和特殊變數)

位置引數 0相當c的main函式argv 0 1 2 位置引數,相當於argv 1 argv 2 相當於 argc 1 表示引數列表 上一條命令的退出碼 當前shell的程序號 bin bash echo 0 0 echo 1 1 echo 2 2 echo 3 3 echo echo echo e...

shell 位置引數變數

n 0代表命令本身 1 9 代表第乙個到第九個引數 第十個引數 eg bin bash num1 1 num2 2 sum 1 2 echo sum 命令執行中的所有引數 乙個整體 執行中所有引數 單個引數 執行中的引數個數 bin bash for i in do 所有引數當成乙個整體迴圈一次 1...

關於Shell中的位置引數變數

位置引數是一種在呼叫shell程式的命令列中按照各自的位置決定的變數,是在程式名之後輸入的引數,它們分別標識了使用者輸入的整個命令列中以空格分隔開的字串,其中,1標識第乙個位置的引數,2標識第二個,以此類推。其中,0是乙個特殊的變數,它的內容是當前這個shell程式的檔名,所以,它不是乙個位置引數,...