shell的環境變量

1.當一個shell腳本程序執行時,一些變量會隨着環境的設置進行初始化。

$HOME:當前用戶的家目錄。

$PATH:用冒號分割的用來搜索命令的列表。

$IFS:輸入域分割符

$0:shell腳本的名字

$#:傳遞給shell腳本的參數個數

$$:shell腳本的進程號

$?:上一個命令的退出值Last command or function's return value.

$!: Last program's PID.上一個進程的pid,例如用在shell腳本中用這個語句啓動一個新進程nohup a.sh;echo $!就可以輸出a.sh的pid。

2.可以使用export在子shell中設置環境變量。

3.$1,$2,$3....表示依次傳入shell的參數,$*是指列出所有輸入參數,$@也是所有輸入參數,但不受$IFS影響。

4.可以用read +參數名來從控制檯讀取參數輸入變量。

5.shell執行時 在末尾加入&可以在後臺執行。

6.IFS=‘’可以設置環境變量,使用unset IFS取消環境變量設置,回到默認。

7.if [ $var = "yes"]  與 “$var” = "yes"的區別,當c$var爲空時前者會報shell錯誤,後者不會,因爲解析後前者是if [ = "yes"],後者是if [ “” = "yes"]

8.#!/bin/sh

9.eval命令允許對參數進行求值,類似於一個額外的$,它允許對代碼隨時的生成和運行,例如 y='$'$x;eval z=$y,那麼z的值就變成了x的值。

10.exec的用法,exec後面接執行命令。將當前shell替換成執行程序,執行程序的進程id變成當前shell的,exec後面一行的命令不會再執行了。

nohup命令也可以在當前命令中執行一個新程序,但不是替換。新程序有新的pid。

11.export導出變量,使變量在子shell中也是可用的。

12.用反引號或者$取得命令的執行結果,使命令執行,如x=`expr $x + 1`;或者x=$(expr $x + 1);

13.expr表達式

14.set的作用,set可以爲當前shell設置參數變量,許多命令的輸出結果是以空格分割的,如果需要輸出某個域的值就可以用這個命令。如set $(date),然後用$2就可以取得月份的值。

15.shift命令的作用,將參數全都左移一位,$0不變,原先$1的丟棄,$2編程$1.

16.ps -p pid這個進程的使用時間;如果有這個進程,返回true。

top實時監控當前進程及性能

16.trap命令,用於指定接收到信號要執行的命令。trap command signal。如trap 'rm -R file' INT,INT是中斷信號。如果要重置某個信號的處理方式到默認值,可以將command設爲-。

17.find命令,參考linux程序設計第70頁。

18.grep命令。

19.正則表達式

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章