configure指令碼有大量的命令列選項。
下面對每乙個選項進行簡略的介紹:
--cache-file=file
'configure' 會在你的系統上測試存在的特性(或者bug!)。為了加速隨後進行的配置,測試的結果會儲存在乙個cache file裡。當configure乙個每個子樹裡都有'configure'指令碼的複雜的原始碼樹時,乙個很好的cache file的存在會有很大幫助。
--no-create
'configure'中的乙個主要函式會製作輸出檔案。此選項阻止'configure'生成這個檔案。你可以認為這是一種演習(dry run),儘管快取(cache)仍然被改寫了。
--quiet
--silent
--prefix=/export/servers/nginx
'--prefix'是最常用的選項。使用上述引數,則執行make install之後,相關檔案會被安裝在/export/servers/nginx目錄
個人認為,你可以忽略其他的一切,但請把—prefix加上。這裡以安裝supersparrow-0.0.0為例,我們打算把它安裝到目錄 /usr/local/supersparrow,於是在supersparrow-0.0.0目錄執行帶選項的指令碼./configure --prefix=/usr/local/supersparrow,執行成功後再編譯、安裝(make,make install);安裝完成將自動生成目錄supersparrow,而且該軟體所有的檔案都被複製到這個目錄。為什麼要指定這個安裝目錄?是為了以後的 維護方便,如果沒有用這個選項,安裝過程結束後,該軟體所需的軟體被複製到不同的系統目錄下,很難弄清楚到底複製了那些檔案、都複製到**去了—基本上是 一塌糊塗。用了—prefix選項的另乙個好處是解除安裝軟體或移植軟體。當某個安裝的軟體不再需要時,只須簡單的刪除該安裝目錄,就可以把軟體解除安裝得乾乾淨淨;移植軟體只需拷貝整個目錄到另外乙個機器即可(相同的作業系統)。
不指定prefix,則可執行檔案預設放在/usr/local/bin,庫檔案預設放在/usr/local/lib,配置檔案預設放在 /usr/local/etc。其它的資源檔案放在/usr/local/share。你要解除安裝這個程式,要麼在原來的make目錄下用一次make uninstall(前提是make檔案指定過uninstall),要麼去上述目錄裡面把相關的檔案乙個個手工刪掉。
指定prefix,直接刪掉乙個資料夾就夠了。
--exec-prefix=eprefix
與'--prefix'選項類似,但是他是用來設定結構倚賴的檔案的安裝位置,編譯好的'emacs'二進位制檔案就是這樣乙個問件。如果沒有設定這個選項的話,預設使用的選項值將被設為和'--prefix'選項值一樣。
--bindir=dir
指定二進位制檔案的安裝位置,這裡的二進位制檔案定義為可以被使用者直接執行的程式。
--sbindir=dir
指定超級二進位制檔案的安裝位置。這是一些通常只能由超級使用者執行的程式。
--libexecdir=dir
指定可執行支援檔案的安裝位置。與二進位制檔案相反,這些檔案從來不直接由使用者執行,但是可以被上面提到的二進位制檔案所執行。
--datadir=dir
指定通用資料檔案的安裝位置。
--sysconfdir=dir
指定在單個機器上使用的唯讀資料的安裝位置。
--sharedstatedir=dir
指定可以在多個機器上共享的可寫資料的安裝位置。
--localstatedir=dir
指定只能單機使用的可寫資料的安裝位置。
--libdir=dir
指定庫檔案的安裝位置。
--includedir=dir
指定c標頭檔案的安裝位置。其他語言如c++的標頭檔案也可以使用此選項。
--oldincludedir=dir
指定為除gcc外編譯器安裝的c標頭檔案的安裝位置。
--infodir=dir
指定info格式文件的安裝位置.info是被gnu工程所使用的文件格式。
--mandir=dir
指定手冊頁的安裝位置。
--srcdir=dir
這個選項對安裝沒有作用,他會告訴'configure'原始碼的位置。一般來說不用指定此選項,因為'configure'指令碼一般和原始碼檔案在同乙個目錄下。
--program-prefix=prefix
指 定將被加到所安裝程式的名字上的字首。例如,使用'--program-prefix=g'來configure乙個名為'tar'的程式將會使安裝的程 序被命名為'gtar'。當和其他的安裝選項一起使用時,這個選項只有當他被`makefile.in'檔案使用時才會工作。
--program-suffix=suffix
指定將被加到所安裝程式的名字上的字尾。
--program-transform-name=program
這裡的program是乙個sed指令碼。當乙個程式被安裝時,他的名字將經過`sed -e program'來產生安裝的名字。
--build=build
指定軟體包安裝的系統平台。如果沒有指定,預設值將是'--host'選項的值。
--host=host
指定軟體執行的系統平台。如果沒有指定。將會執行`config.guess'來檢測。
--target=garget
指定軟體面向(target to)的系統平台。這主要在程式語言工具如編譯器和彙編器上下文中起作用。如果沒有指定,預設將使用'--host'選項的值。
--disable-feature
一些軟體包可以選擇這個選項來提供為大型選項的編譯時配置,例如使用kerberos認證系統或者乙個實驗性的編譯器最優配置。如果預設是提供這些特性,可以使用'--disable-feature'來禁用它,這裡'feature'是特性的名字,例如:
configure常用引數介紹
configure常用引數介紹 configure指令碼有大量的命令列選項,對不同的軟體包來說,這些選項可能會有變化,但許多基本選項是不會改變的.帶上 help 選項執行configure指令碼可以看到可用的所有選項。這裡我只羅列一些常用選項,以備參考 prefix 是最常用的選項,製作出的make...
Shell指令碼 引數
我們可以在執行 shell 指令碼時,向指令碼傳遞引數,指令碼內獲取引數的格式為 n。n代表乙個數字,1 為執行指令碼的第乙個引數,2 為執行指令碼的第二個引數,以此類推 以下例項我們向指令碼傳遞三個引數,並分別輸出,其中 0為執行的檔名 bin bash author 菜鳥教程 url www.r...
訪問Shell指令碼引數
所謂的位置引數 positional parameters 指的也就是shell指令碼的命令列引數 command line arguments 在shell函式裡,它們同事也可以是函式的引數。各引數都由整數來命名。基於歷史的原因,當它超過9,就應該用大括號把數字框起來 echo first arg...