tcl - How to get path of current script? -


sometimes needed current path of script. ways that?

while script being evaluated (but not while procedures being called) current script name (strictly, whatever passed source or c api equivalent, tcl_evalfile() , related) result of info script; it's highly advisable normalise absolute pathname calls cd don't change interpretation.

scripts need information tend put inside themselves:

# *good* use of [variable]… variable mylocation [file normalize [info script]] 

they can retrieve value (or things derived it) easily:

proc getresourcedirectory {} {     variable mylocation     return [file dirname $mylocation] } 

the other common locations are:

  • $::argv0 “main” script (and you're evaluating main script if it's equal info script)
  • [info nameofexecutable] tcl interpreter program (typically argv[0] @ c level)
  • [info library] tcl's own library scripts located
  • $::tcl_pkgpath tcl list of directories packages installed
  • $::auto_path tcl list of directories scripts searched (including packages! package path used initialise this.)

Comments

Popular posts from this blog

How to access named pipes using JavaScript in Firefox add-on? -

multithreading - OPAL (Open Phone Abstraction Library) Transport not terminated when reattaching thread? -

node.js - req param returns an empty array -