shell執行命令和變量引用


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





免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM