linuxshell變數的變數
$0 正在被執行命令的名字。對於shell 腳本而言,這是被激活命令的路徑
$n 該變數與腳本被激活時所帶的參數相對應。n 是正整數,與參數位置相對應 ($1,$2...)
$# 提供腳本的參數號
$* 所有這些參數都被雙引號引住。若一個腳本接收兩個參數,$* 等於 $1$2
$@ 所有這些參數都分別被雙引號引住。若一個腳本接收到兩個參數,$@ 等價於 $1$2
$? 前一個命令執行後的退出狀態
$$ 當前shell 的進程號。對於shell 腳本,這是其正在執行時的進程 ID
$! 前一個後台命令的進程號
$- 顯示shell使用的當前選項,與 set命令功 能相同
有關shell編程可以學習一下《高級Bash腳本編程指南》,很經典的書。
2. Linux下的Shell編程變數是怎樣定義的...
shell變數比C語言中的變數簡單得多,沒有眾多存儲類及類型的限制,也不需要預先定義,然後才能賦值,可以在使用時"現在定義,現賦值".
shell有兩種變數:環境變數和臨時變數.環境變數是永久性變數,其值不會隨shell腳本執行結束面消失.而臨時變數是在shell程序內部定義的,其使用范圍公限於定義它的程序,離開了本程序就不能再用,它而且當程序執行完畢,它的值也就不存在了.
3. linux shell 怎麼設置變數
將一條命令的執行結果賦給一個變數的方法有: 1、使用反引號`` (數字鍵1左邊的鍵,tab鍵上面,英文方式輸入)
如:a=`echo "hello world"`;
即將命令 echo "hello world"的輸出賦給變數a
2、可以使用 $(())
如:a=$(echo "hello world")
即 將命令echo "hello world"的輸出賦給變數a
4. 菜鳥求助linux shell 變數設置,看不懂.
BASH_N="$BASH_N`grep
'/bin/bash'
/etc/passwd
|
head
-$i
|
tail
-1
|
cut
-d:
-f1`,"
BASH_N你就理解成一個字元串變數,每一次循環,在後面append上一個用戶名
比如在etc/password里登記的用戶,使用/bin/bash作為shell的用戶有root
,
binzai
,
a1
,
a2
,
a5
,
ay12
,
user1這么幾個人,則每次循環後BASH_N的變化如下:
啥也沒有
root
root,binzai
root,binzai,a1
......
你後面的之所以每一行都有回車,是因為使用了echo,echo會自動加一個回車.