Makefile與shell指令碼區別

2022-03-08 23:07:59 字數 1084 閱讀 8674

在makefile可以呼叫shell指令碼,但是makefile和shell指令碼是不同的。

1、 shell中所有引用以$打頭的變數其後要加{},而在makefile中的變數是以$打頭的後加()。例項如下:

makefile

path="/data/"

subpath=$(path)

shell

path="/data/"

subpath=$

2、makefile中所有以$打頭的單詞都會被解釋成makefile中的變數。如果你需要呼叫shell中的變數(或者正規表示式中錨定句位$),都需要加兩個$符號($$)。例項如下:

path="/data/"

all:

echo $

echo $$path例子中的第乙個$引用的是makefile中的變數,而不是shell中的path環境變數,後者引用的事shell中的path環境變數。

3、萬用字元區別

shell 中萬用字元*表示所有的字元

makefile 中萬用字元%表示所有的字元

4、在makefile中只能在target中呼叫shell指令碼,其他地方是不能輸出的。比如如下**就是沒有任何輸出:

var="hello"

echo "$var"

all:

.....以上**任何時候都不會輸出,沒有在target內,如果上述**改為如下:

var="hello"

all:

echo "$var"

.....以上**,在make all的時候將會執行echo命令。

5、在makefile中執行shell命令,一行建立乙個程序來執行。這也是為什麼很多makefile中有很多行的末尾都是「; \」,以此來保證**是一行而不是多行,這樣makefile可以在乙個程序中執行,例如:

subdir=src example

all:

@for subdir in $(subdir); \

do\echo "building "; \

done上述可以看出for迴圈中每行都是以」; \」結尾的。

6、獲取當前目錄

path=`pwd` 注意是``,不是''

實驗2使用者介面與Shell命令

一 實驗要求 1 掌握圖形化使用者介面和字元介面下使用shell命令的方法。2 掌握ls cd等shell命令的功能。3 掌握重定向 管道 萬用字元 歷史記錄等的使用方法。4 掌握手動啟 形化使用者介面的設定方法。二 實驗內容 圖形化使用者介面下的使用者操作非常簡單而直觀,但到目前為止圖形化介面還不...

煤氣化技術中shell與GSP氣化爐對比

編輯 阿勇發布時間 2013 04 03訪問量 44次字型大小 大中小 殼牌 shell 幹煤粉加壓氣化技術,屬於氣流床加壓氣化技術。可氣化褐煤 煙煤 無煙煤 石油焦及高灰熔點的煤。入爐原料煤為經過乾燥 磨細後的幹煤粉。幹煤粉由氣化爐下部進入,屬多燒嘴上行制氣。目前國外最大的氣化爐日處理2000t煤...

泡腳的好處與注意事項

上班族早上泡腳精力充沛 之所以選擇早上泡腳,是因為夜間睡眠長時間保持同一姿勢,血液迴圈不暢,早上泡泡,正好可以促進血液迴圈,調節植物神經和內分泌系統。腳掌上的神經末梢與大腦相連,洗腳時用雙手在溫水中按摩腳心 腳趾間隙,能使大腦感到輕鬆 舒暢,使神清氣爽,精力充沛,給一天的工作 加滿油 早上洗腳方法很...