1、指令碼中使用位置引數
#!/bin/bash
#param
echo "this is script name : $0"
echo "this is the first name : $1"
echo "this is the second name: $2"
echo "this is the three name : $3"
這裡傳遞3個引數,$0是指令碼名自身;
注意:$0返回的是當前目錄路徑,如下
#!/bin/sh
#param2
echo "hello world this is $0 calling"
test@linux_ngin:~/script> ./param2
hello world this is./param2calling ------當前目錄路徑
#!/bin/sh
#param2
echo "hello world this is `basename $0` calling" ------使用basename獲取指令碼名稱
test@linux_ngin:~/script> ./param2
hello world this isparam2calling
2、向系統命令傳遞引數
#!/bin/sh
#findfile
find / -name $1 -print -------查詢檔案名
#!/bin/sh
#who_is
grep $1 /etc/passwd | awk -f: '' ---------查詢當前使用者名稱並輸出其home目錄
3、特定變數引數
$# 傳遞到指令碼的引數個數
$* 以乙個單字串顯示所有向指令碼傳遞的引數。與位置變數不同,此選項引數可超過9個
$$ 指令碼執行的當前程序id號
$! 後台執行的最後乙個程序的程序id號
$@ 與$#相同,但使用時加引號,並在引號中返回每個引數
$- 顯示shell當前選項,與set命令相同
$? 顯示最後命令的退出狀態,0為沒有錯誤,其他任何值表明有錯誤
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程式的檔名,所以,它不是乙個位置引數,...
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...