亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊(cè) 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫(kù)
最近訪(fǎng)問(wèn)板塊 發(fā)新帖
查看: 1501 | 回復(fù): 3
打印 上一主題 下一主題

一個(gè)我覺(jué)得很蹊蹺的事情 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2007-06-11 14:21 |只看該作者 |倒序?yàn)g覽
下面是我寫(xiě)的一個(gè)shell腳本 很簡(jiǎn)單 就是到一個(gè)目錄下 執(zhí)行make
但是我發(fā)現(xiàn)一個(gè)問(wèn)題:
如果是我手動(dòng)make完一個(gè)模塊后,執(zhí)行可執(zhí)行文件,什么問(wèn)題都沒(méi)有
但是我使用下面這個(gè)shell腳本自動(dòng)編譯完成后,執(zhí)行可執(zhí)行文件時(shí)就會(huì)報(bào)錯(cuò):

Dependent module libexpat.a(libexpat.so.1) could not be loaded
Cannot load module libexpat.a(libexpat.so.1)


覺(jué)得非常蹊蹺 同樣是make 只不過(guò)一個(gè)是手動(dòng)cd到一個(gè)目錄然后敲入make進(jìn)行編譯
一個(gè)是自動(dòng)跳到一個(gè)目錄然后自動(dòng)編譯 為什么一個(gè)有錯(cuò) 一個(gè)沒(méi)錯(cuò)呢?
是不是有什么shell編程的機(jī)制我還不明白?


  1. #!/usr/bin/sh
  2. # Written by karl412 on 2007-06-10
  3. # auto-make all modules

  4. MPPSRC_DIR=/home/mpp/src.work

  5. mppd_make() {
  6.         echo "\n+++++++++++++++++++MPPD+++++++++++++++++++++\n"
  7.         cd $MPPSRC_DIR/mppd
  8.         make clean;make
  9. }

  10. mppcrond_make() {
  11.         echo "\n+++++++++++++++++++MPPCROND+++++++++++++++++++++\n"
  12.         cd $MPPSRC_DIR/mppcrond
  13.         make clean;make
  14. }

  15. err_msg() {
  16.         if [ $? != 0 ]
  17.         then
  18.                 echo "\n++++++++++++++There is something wrong in $1++++++++++++\n"
  19.                 exit
  20.         fi
  21. }

  22. # Shell  Begin
  23. if [ $# != 1 ]
  24. then
  25.         echo "[Usage]: make.sh module_name"
  26.         echo "[ Note]: if module_name is 'all', then compile all modules "
  27.         exit
  28. fi

  29. case $1 in
  30. mppd )
  31.         mppd_make; err_msg "MPPD"
  32.         exit;;
  33. mppcrond )
  34.         mppcrond_make; err_msg "MPPCROND"  
  35.         exit;;
  36. all )
  37.         mppd_make; err_msg "MPPD"
  38.         mppcrond_make; err_msg "MPPCROND"
  39.         exit;;
  40. esac
復(fù)制代碼

論壇徽章:
0
2 [報(bào)告]
發(fā)表于 2007-06-11 14:45 |只看該作者
我用的是sh
AIX默認(rèn)的是ksh
這個(gè)或許會(huì)影響到環(huán)境變量的定義
是不是這個(gè)原因呢?

論壇徽章:
0
3 [報(bào)告]
發(fā)表于 2007-06-11 15:02 |只看該作者
原帖由 karl412 于 2007-6-11 14:21 發(fā)表
下面是我寫(xiě)的一個(gè)shell腳本 很簡(jiǎn)單 就是到一個(gè)目錄下 執(zhí)行make
但是我發(fā)現(xiàn)一個(gè)問(wèn)題:
如果是我手動(dòng)make完一個(gè)模塊后,執(zhí)行可執(zhí)行文件,什么問(wèn)題都沒(méi)有
但是我使用下面這個(gè)shell腳本自動(dòng)編譯完成后,執(zhí)行可執(zhí)行 ...



你運(yùn)行這個(gè)腳本的時(shí)候有沒(méi)有用. ./ufile ?還是./ufile ?
如果是./ufile 運(yùn)行后,cd到哪個(gè)目錄環(huán)境變量就不能傳到父進(jìn)程了,必須要. ./ufile才行.

論壇徽章:
0
4 [報(bào)告]
發(fā)表于 2007-06-11 16:58 |只看該作者
問(wèn)題似乎解決了

原因是我在Makefile中 定義MYLIBPATH=../lib

如此定義變量 只能在當(dāng)前目錄下才能執(zhí)行可執(zhí)行文件(這個(gè)是在AIX下才發(fā)現(xiàn)的問(wèn)題,在LINUX下沒(méi)有這個(gè)問(wèn)題)
您需要登錄后才可以回帖 登錄 | 注冊(cè)

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號(hào)-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號(hào):11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專(zhuān)區(qū)
中國(guó)互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過(guò)ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請(qǐng)注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP