makefile和script - Linux

By Adele
at 2013-12-26T10:04
at 2013-12-26T10:04
Table of Contents
您好:
拋磚引玉一下,請各位前輩指教。
http://en.wikipedia.org/wiki/Make_%28software%29#Rules
上面有提到,每次<tab>後面的command 都是啟動單獨的shell去執行
也就是說,有幾個commands就會跑幾次shell去執行這些commands
這樣表示,上面一行的command的狀態,變數等資訊都無法傳遞給下面的
commands。換句話說,目前的command和上面的狀態無關,因此會有
all: # 假設工作目錄在/workspace
<tab>cd test1 # 切換到/workspace/test1目錄
<tab>./test # 目錄還在/workspace
./test出現錯誤的狀況
有興趣可以自己寫個實驗測一下就知道,如<tab>cd test1後下一行再
來個<tab>pwd
如果想要有狀態延續,我想到的有
1. 如您post提到,在Makefile直接執行shell script
2. 在一行command執行多個指令,您可以man bash再搜尋Compound Commands
或是Lists
3. 如果是要多個makefile共用設定,可以用include指令或是source一個變數
設定的script
※ 引述《gn00618777 (非常念舊)》之銘言:
[Deleted]
: makefile會一點,script語法會一點,但我整個就是搞不清楚啥時候用makefile
: 啥時用script,看了同事他們的makefile,裡面會呼叫.sh也就是script來跑
: 我也不懂為何不能直接把這些一大串指令直接複製到makefile裡讓他跑。
[deleted]
--
拋磚引玉一下,請各位前輩指教。
http://en.wikipedia.org/wiki/Make_%28software%29#Rules
上面有提到,每次<tab>後面的command 都是啟動單獨的shell去執行
也就是說,有幾個commands就會跑幾次shell去執行這些commands
這樣表示,上面一行的command的狀態,變數等資訊都無法傳遞給下面的
commands。換句話說,目前的command和上面的狀態無關,因此會有
all: # 假設工作目錄在/workspace
<tab>cd test1 # 切換到/workspace/test1目錄
<tab>./test # 目錄還在/workspace
./test出現錯誤的狀況
有興趣可以自己寫個實驗測一下就知道,如<tab>cd test1後下一行再
來個<tab>pwd
如果想要有狀態延續,我想到的有
1. 如您post提到,在Makefile直接執行shell script
2. 在一行command執行多個指令,您可以man bash再搜尋Compound Commands
或是Lists
3. 如果是要多個makefile共用設定,可以用include指令或是source一個變數
設定的script
※ 引述《gn00618777 (非常念舊)》之銘言:
[Deleted]
: makefile會一點,script語法會一點,但我整個就是搞不清楚啥時候用makefile
: 啥時用script,看了同事他們的makefile,裡面會呼叫.sh也就是script來跑
: 我也不懂為何不能直接把這些一大串指令直接複製到makefile裡讓他跑。
[deleted]
--
Tags:
Linux
All Comments

By Regina
at 2013-12-29T05:00
at 2013-12-29T05:00

By Anthony
at 2014-01-01T03:49
at 2014-01-01T03:49

By Freda
at 2014-01-03T05:37
at 2014-01-03T05:37

By Victoria
at 2014-01-05T13:40
at 2014-01-05T13:40

By Margaret
at 2014-01-06T10:30
at 2014-01-06T10:30

By Kristin
at 2014-01-11T01:52
at 2014-01-11T01:52
Related Posts
makefile和script

By Freda
at 2013-12-26T09:50
at 2013-12-26T09:50
makefile和script

By Lucy
at 2013-12-25T23:24
at 2013-12-25T23:24
JAVA變更系統時間無效

By Daniel
at 2013-12-25T22:46
at 2013-12-25T22:46
VNC如何設定不share server

By Kristin
at 2013-12-25T00:41
at 2013-12-25T00:41
HackingThursday 固定聚會 (2013-12-26)

By Jacob
at 2013-12-23T12:12
at 2013-12-23T12:12