Cómo leer una variable de entorno de shell en su secuencia de comandos Tcl. Así que, por favor, por favor, ayúdenme. Soy muy nuevo en TCL.Lea la variable de entorno Bash en TCL
Respuesta
Utilice $::env
para acceder a cualquier variable de entorno, p. para acceder a la variable de entorno TMP hacer esto:
set tmpdir $::env(TMP)
Más información aquí http://wiki.tcl.tk/1624
$ export var=42
$ tclsh
% puts $env(var)
42
La variable de entorno TMP se define en el script bash. así que lo que quiero hacer es acceder a la variable de entorno en el tcl. mi prompt tcl es%. así que finalmente quiero acceder a la variable de entorno en tcl. –
La variable de entorno TMP sería $ env (TMP). ** Pero **: ¿Se llama el script tcl desde el script bash? ¿La variable es global (es decir, exportar)? – hynek
Sí. Está funcionando bien. pero mi pregunta es que cualquiera que sea la variable de entorno definida en script bash o shell solo quiero acceder usando el proceso en tcl. así que por favor ........ –
Las variables de entorno son accesibles a través de una función de variable global env
(completo es ::env
). Usas esto como cualquier otra matriz Tcl.
Si desea imprimir una lista de todas las variables de entorno que puede usar algo como esto:
proc dump_env_vars {} {
foreach name [array names ::env] {
puts "$name == $::env($name)"
}
}
Por supuesto, para tener acceso a una sola variable que utiliza como cualquier otra matriz, por ejemplo:
puts "HOME = '$::env(HOME)'"
Para más información ver la env page on the Tcler's wiki y the env section of the tclvars man page
Sí, su procedimiento se ejecuta, proporciona todas las variables de entorno. está bien. Pero lo que estoy preguntando aquí. Supongamos en script bash si defino el entorno definido por el usuario como este: ORACLE_SID = DBTEST ORACLE_HOME =/opt/oracle/product/102 export ORACLE_SID ORACLE_HOME Ahora quiero escribir un proc en tcl para acceder a la variable de entorno definida por el usuario. Entonces, ¿cómo puedo hacerlo? por favor .......... –
También leí su enlace. Pero no coincide con mi requerimiento. –
Solo uso 'parray env' cuando deseo volcar variables de entorno. –
para leer una variable de entorno shell script Tcl , Trata de hacer algo como esto:
global env
set olddisplay $env(DISPLAY)
set env(DISPLAY) unix:0
Esto podría expresarse así de esta manera:
set olddisplay $::env(DISPLAY)
set ::env(DISPLAY) unix:0
y olvidarse de global
.
Puede comprobar para ver si existe la variable haciendo algo como:
if {[info exists env(VARNAME)]} {
# okay, it's there, use it
set value $env(VARNAME)
} else {
# the environment var isn't set, use a default
set value "the default value"
}
Esta es source.
- 1. Lea una variable de entorno en Java con Websphere
- 2. cómo insertar una variable de entorno en el indicador bash
- 3. ¿Cómo llamar comandos bash desde tcl script?
- 4. TCL: concatenar una variable y una cadena
- 5. Bash $ {! Variable}
- 6. Establecer la variable de entorno para construir en hudson
- 7. Alcance variable de Bash
- 8. C# establecer la variable de entorno
- 9. ¿Qué es la variable de entorno HTTP_AUTHORIZATION?
- 10. salida Asignar a la variable en Bash
- 11. Establecer variables de entorno para un script en una variable de función bash local
- 12. ¿Cómo uso la variable de entorno JAVA_OPTS?
- 13. Cómo utilizar una variable de entorno dentro de una cadena entre comillas en Bash
- 14. Exportación de una variable de entorno en Ruby
- 15. Averigüe dónde se estableció por última vez una variable de entorno en bash
- 16. Cómo exportar una variable de entorno del ámbito del sistema en bash
- 17. Bash: Valor mínimo de la variable global
- 18. lectura variable de entorno fiesta
- 19. Makefile: Ajuste variable de entorno
- 20. Establecer una variable de entorno en javascript
- 21. Variable messy bash
- 22. expansión de tilde en la variable de entorno
- 23. Configuración de la variable de entorno en el script ant
- 24. Variable de entorno en la consola de Rails y Pow
- 25. Usando la variable de entorno en una ruta de archivo
- 26. ¿Cómo incluyo una variable de entorno dentro de un alias para bash?
- 27. Accediendo a la variable de entorno AppKernel en Symfony 2
- 28. Cambiando la variable de entorno doméstico en eclipse
- 29. ¿Cómo establecer la variable de entorno en Netbeans?
- 30. Ver la variable de entorno del proceso en Windows
Solo escribo tu código y lo ejecuto. Pero no estoy entendiendo. Estoy en tclsh prompt. Mi mensaje es%. así que lo que hice simplemente tecleó el prompt% set tmpdir $ :: env (TMP). La salida es como que no puede leer ":: env (TMP)": no existe tal variable –
En realidad quiero escribir un proc que es tcl que devuelve los valores de la variable de entorno Bash. –
Eso es porque no tiene una variable de entorno llamada TMP. ¿Has leído el enlace que te di? – TrojanName