shell 下 定義變量后直接引用 $a
shell中 ‘‘ 中執行命令,tr A-Z a-z 將大寫全部轉為小寫
export Platform=`echo $1 | tr A-Z a-z`
export CPU=`echo $2 | tr a-z A-Z`
source filename 與 sh filename 及./filename執行腳本的區別在那里呢?
1.當shell腳本具有可執行權限時,用sh filename與./filename執行腳本是沒有區別得。./filename是因為當前目錄沒有在PATH中,所有"."是用來表示當前目錄的。
2.sh filename 重新建立一個子shell,在子shell中執行腳本里面的語句,該子shell繼承父shell的環境變量,但子shell新建的、改變的變量不會被帶回父shell,除非使用export。
3.source filename:這個命令其實只是簡單地讀取腳本里面的語句依次在當前shell里面執行,沒有建立新的子shell。那么腳本里面所有新建、改變變量的語句都會保存在當前shell里面。
makefile或者mak文件里,變量用()引用 $(a)
多個mak文件拼接成單個makefile,在mak中用 include a.mak
makefile中定義變量不需要 a=1,即a后不能有空格,變量后可以有空格
makefile中命令必須用 tab開頭,不能用空格。
makfile中的if:
用 ifeq else endif
foo: $(objects)
ifeq ($(CC),gcc)
$(CC) -o foo $(objects) $(libs_for_gcc)
else
$(CC) -o foo $(objects) $(normal_libs)
endif