裝了好幾次 Intel Compiler,每次都要重寫一回 <INSTALLDIR>/bin 目錄裡的指令稿取代 shell script。

今天受不了了,花點時間寫個 python 小程式,以後只要改改字串資訊,就可以自動幫忙改好指令稿裡的路徑資料。

#!/usr/bin/env python
# -*- coding: UTF-8 -*-

"""
用來取代 Intel Compiler 在 Debian 上手動安裝時,
<INSTALLDIR>/bin 目錄內各指令稿內的安裝目錄位置。
$Id$
"""

####################################
# 給 Intel C Compiler 用的取代資訊
ORIGTAG = "<INSTALLDIR>"
ROOT = "/usr/table/share/intel_cc_80"
SCRIPTS = [
  'icc',
  'icc.cfg',
  'iccvars.csh',
  'iccvars.sh',
  'icpc',
  'icpc.cfg',
  'uninstall.sh'
]
#
####################################

def subs(old, new, fn):
  """
  執行取代工作的函式
  old: 被取代字串
  new: 新取代字串
  fn:  工作的目標檔名
  """
####################################
#
  import re

  # 讀取來源資料
  f = open( fn, 'r' );
  orig = f.read();
  f.close()

  # 執行取代
  replaced = re.sub( old, new, orig )

  # 把取代後的整筆資料寫回檔案
  f = open( fn, 'w' )
  f.write( replaced )
  f.close()
#
####################################

def parameters():
  """
  處理指令行引數;目前沒有任何要處理的引數。
  """
####################################
#
  from optparse import OptionParser, OptionGroup

  op = OptionParser(
         usage = "usage: %prog",
         version = "%prog, $Revision$"
       )

  (options, args) = op.parse_args()

  return options, args, op
#
####################################

def main():
  """
  主函式。
  """
####################################
#
  for script in SCRIPTS:
    subs(ORIGTAG, ROOT, script)
#
####################################

if __name__ == '__main__':
####################################
#
  main()
#
####################################

改好這些路徑資料之後,不要忘了修正一下 iccvars.sh (和 iccvars.csh) 裡對 MANPATH 的錯誤處理。

Posted by yungyuc at 17:21, 0 comment, 0 trackback.
Navigate
Add a trackback
Add a comment

Your name. (required)

Your personal website. (optional)

Your email address. Will not show in page. (suggested, but optional)

Text format is "Plain Text".

Enter "MOxci"
© hover year to navigate month: powered by django