2015年10月12日 星期一

deliver linux variable to TCL

C shell script:
### c2tcl.csh ###

#!/bin/csh -f
set names = "0 1"
foreach name ($names)
    echo $name
    echo
    setenv abc $name
    liberate t.tcl | tee t.log
    mv t.log t_$name.log
end

TCL script:
### t.tcl ###
reset_defaults -version 16.1.2
set_var write_verilog_without_err_primitives $env(abc)
puts "$env(abc)"
printvars

執行:
source c2tcl.csh




環境變數(environment variables)
 TCL提供了一個事先就定義好的全域環境變數陣列,這個陣列叫做env。讀者可以將環境變數的名稱當成元素名稱來使用。換句話說,讀者可以使用變數名稱當做索引存取讀者想要存取的變數。下面的命令會印出PATH環境變數的內容:

puts "$env(PATH)"

讀者可以操作一般的變數的方式來操作環境變數陣列。舉例來說,讀者可以使用下面的命令加入一個新的目錄到PATH中:

set env(PATH): "$env(PATH):/usr/sbin"

這裡需要注意的是,環境變數的任何修改都不會影響到原始行程(舉例來說,讀者用來啟動TCL script的shell就是TCL script原始行程)的環境變數的內容。任何使用exec命令所建立出來的script行程,將會繼承修改過後的所有環境變數。









source $::env(golden_area)/common_settings/common_settings.tcl

沒有留言:

張貼留言

標籤