TCL有个特殊变量叫做env,用来保存环境变量的数据。
网上有提供输出此环境变量的方法,但是存在一定的局限性,下面提供了一种方法,输出env的键值对

#!/usr/bin/tclshforeach key [array names env] {puts "key: $key, value: $env($key)"
}
puts "env size: [array size env]"
puts "LANG: $env(LANG)"

打印输出为:

fh@Feihu-3 learn % ./array.tcl
key: VSCODE_GIT_ASKPASS_MAIN, value: /Applications/Visual Studio Code.app/Contents/Resources/app/extensions/git/dist/askpass-main.js
key: VSCODE_GIT_ASKPASS_NODE, value: /Applications/Visual Studio Code.app/Contents/Frameworks/Code Helper (Renderer).app/Contents/MacOS/Code Helper (Renderer)
key: HOMEBREW_BOTTLE_DOMAIN, value: https://mirrors.ustc.edu.cn/homebrew-bottles
key: HOME, value: /Users/fh
key: LANG, value: zh_CN.UTF-8
key: PWD, value: /Users/fh/fh_data/workspace/tcl/learn
key: COMMAND_MODE, value: unix2003
key: LOGNAME, value: fh
key: XPC_SERVICE_NAME, value: 0
key: SSH_AUTH_SOCK, value: /private/tmp/com.apple.launchd.jUsrReVWLO/Listeners
key: COLORTERM, value: truecolor
key: TERM_PROGRAM, value: vscode
key: __CF_USER_TEXT_ENCODING, value: 0x1F5:0x19:0x34
key: XPC_FLAGS, value: 0x0
key: TERM, value: xterm-256color
key: SHELL, value: /bin/zsh
key: TMPDIR, value: /var/folders/8m/dwtpjrx55ks5tbh3x08ln6wh0000gn/T/
key: GIT_ASKPASS, value: /Applications/Visual Studio Code.app/Contents/Resources/app/extensions/git/dist/askpass.sh
key: SHLVL, value: 1
key: OLDPWD, value: /Users/fh
key: ORIGINAL_XDG_CURRENT_DESKTOP, value: undefined
key: TERM_PROGRAM_VERSION, value: 1.61.1
key: __CFBundleIdentifier, value: com.microsoft.VSCode
key: VSCODE_GIT_IPC_HANDLE, value: /var/folders/8m/dwtpjrx55ks5tbh3x08ln6wh0000gn/T/vscode-git-0c84f9610c.sock
key: PATH, value: /Users/fh/Library/Python/2.7/bin:/usr/local/sbin:/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/TeX/texbin:/Library/Apple/usr/bin:/Applications/Wireshark.app/Contents/MacOS:/Users/fh/Library/Python/2.7/bin:/usr/local/sbin
key: _, value: /Users/fh/fh_data/workspace/tcl/learn/./array.tcl
key: USER, value: fh
env size: 27
LANG: zh_CN.UTF-8
fh@Feihu-3 learn %

最后参考,网上打印env的方法:

#!/usr/bin/tclsh
puts "-----------------------------------------------"
puts [array get env]
puts "-----------------------------------------------"
parray env
fh@Feihu-3 learn % ./array.tcl
-----------------------------------------------
VSCODE_GIT_ASKPASS_MAIN {/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/git/dist/askpass-main.js} VSCODE_GIT_ASKPASS_NODE {/Applications/Visual Studio Code.app/Contents/Frameworks/Code Helper (Renderer).app/Contents/MacOS/Code Helper (Renderer)} HOMEBREW_BOTTLE_DOMAIN https://mirrors.ustc.edu.cn/homebrew-bottles HOME /Users/fh LANG zh_CN.UTF-8 PWD /Users/fh/fh_data/workspace/tcl/learn COMMAND_MODE unix2003 LOGNAME fh XPC_SERVICE_NAME 0 SSH_AUTH_SOCK /private/tmp/com.apple.launchd.jUsrReVWLO/Listeners COLORTERM truecolor TERM_PROGRAM vscode __CF_USER_TEXT_ENCODING 0x1F5:0x19:0x34 XPC_FLAGS 0x0 TERM xterm-256color SHELL /bin/zsh TMPDIR /var/folders/8m/dwtpjrx55ks5tbh3x08ln6wh0000gn/T/ GIT_ASKPASS {/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/git/dist/askpass.sh} SHLVL 1 OLDPWD /Users/fh ORIGINAL_XDG_CURRENT_DESKTOP undefined TERM_PROGRAM_VERSION 1.61.1 __CFBundleIdentifier com.microsoft.VSCode VSCODE_GIT_IPC_HANDLE /var/folders/8m/dwtpjrx55ks5tbh3x08ln6wh0000gn/T/vscode-git-0c84f9610c.sock PATH /Users/fh/Library/Python/2.7/bin:/usr/local/sbin:/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/TeX/texbin:/Library/Apple/usr/bin:/Applications/Wireshark.app/Contents/MacOS:/Users/fh/Library/Python/2.7/bin:/usr/local/sbin _ /Users/fh/fh_data/workspace/tcl/learn/./array.tcl USER fh
-----------------------------------------------
env(COLORTERM)                    = truecolor
env(COMMAND_MODE)                 = unix2003
env(GIT_ASKPASS)                  = /Applications/Visual Studio Code.app/Contents/Resources/app/extensions/git/dist/askpass.sh
env(HOME)                         = /Users/fh
env(HOMEBREW_BOTTLE_DOMAIN)       = https://mirrors.ustc.edu.cn/homebrew-bottles
env(LANG)                         = zh_CN.UTF-8
env(LOGNAME)                      = fh
env(OLDPWD)                       = /Users/fh
env(ORIGINAL_XDG_CURRENT_DESKTOP) = undefined
env(PATH)                         = /Users/fh/Library/Python/2.7/bin:/usr/local/sbin:/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/TeX/texbin:/Library/Apple/usr/bin:/Applications/Wireshark.app/Contents/MacOS:/Users/fh/Library/Python/2.7/bin:/usr/local/sbin
env(PWD)                          = /Users/fh/fh_data/workspace/tcl/learn
env(SHELL)                        = /bin/zsh
env(SHLVL)                        = 1
env(SSH_AUTH_SOCK)                = /private/tmp/com.apple.launchd.jUsrReVWLO/Listeners
env(TERM)                         = xterm-256color
env(TERM_PROGRAM)                 = vscode
env(TERM_PROGRAM_VERSION)         = 1.61.1
env(TMPDIR)                       = /var/folders/8m/dwtpjrx55ks5tbh3x08ln6wh0000gn/T/
env(USER)                         = fh
env(VSCODE_GIT_ASKPASS_MAIN)      = /Applications/Visual Studio Code.app/Contents/Resources/app/extensions/git/dist/askpass-main.js
env(VSCODE_GIT_ASKPASS_NODE)      = /Applications/Visual Studio Code.app/Contents/Frameworks/Code Helper (Renderer).app/Contents/MacOS/Code Helper (Renderer)
env(VSCODE_GIT_IPC_HANDLE)        = /var/folders/8m/dwtpjrx55ks5tbh3x08ln6wh0000gn/T/vscode-git-0c84f9610c.sock
env(XPC_FLAGS)                    = 0x0
env(XPC_SERVICE_NAME)             = 0
env(_)                            = /Users/fh/fh_data/workspace/tcl/learn/./array.tcl
env(__CFBundleIdentifier)         = com.microsoft.VSCode
env(__CF_USER_TEXT_ENCODING)      = 0x1F5:0x19:0x34
fh@Feihu-3 learn %

从上可知,使用parray[array get env]方法适合调试,但是在使用上存在一定局限性。

TCL特殊变量env遍历以及操作相关推荐

  1. PHP对数组的高级遍历和操作处理方法

    PHP对数组的处理可以称为该语言最有吸引力的特性之一,它支持70多种数组相关的函数.不论你想翻转一个数组.判断某个值在数组中是否存在.将数组转换成一个字符串还是计算数组的大小,仅仅执行一个现有的函数就 ...

  2. 如何修改uboot的环境变量env的值来指定uImage的名字

    今天继续玩基于uboot的nfs.昨天总算是基本搞清了make zImage和make uImage的区别,那么今天就来实际编译几个玩一玩. 不过,在利用mkimage工具对zImage镜像文件加工完 ...

  3. json tcl_确定TCL中变量的类型

    Tcl的变量没有类型(除了他们是否真的变量的关联数组 - 即使用$foo(bar)语法 - FO r你使用array exists)但Tcl的值.好吧,有点. Tcl可以在不同类型之间进行变异,因为它 ...

  4. TCL中变量嵌套使用

    TCL中变量嵌套使用 在使用多重嵌套变量时候,因为 {} 对于tcl来说属于非运算符号,因此在使用变量嵌套,直接调用会出现问题 即变量不能正确调用: set mm_list "0 1&quo ...

  5. php mysql 变量赋值_mysql存储过程中变量的定义赋值操作

    一.变量的定义 mysql中变量定义用declare来定义一局部变量,该变量的使用范围只能在begin...end 块中使用,变量必须定义在复合语句的开头,并且是在其它语句之前,也可以同时申明多个变量 ...

  6. Linux环境变量getenv setenv unsetenv操作

    Linux环境变量getenv setenv unsetenv操作 在linux操作系统中,可以通过man来进行相关函数的查看 eg: man setenv 1.setenv 设置环境变量 //函数原 ...

  7. 豪斯曼检验matlab,面板工具变量与内生性操作及应用(固定随机、豪斯曼检验、过度识别检验、预测等)...

    原标题:面板工具变量与内生性操作及应用(固定随机.豪斯曼检验.过度识别检验.预测等)

  8. 读取以下4位同学的成绩并用一个数据框变量pd保存。对数据框变量pd进行切片操作,分别获得小红、张明、小江、小李的各科成绩,它们是4个数据框变量,分别记为pd1、pd2、pd3、pd4

    (1) 读取以下4位同学的成绩并用一个数据框变量pd保存,其中成绩保存在一个TXT文件中 import pandas as pd import numpy as np pd=pd.read_table ...

  9. python变量赋值如何定义操作

    python变量赋值如何定义操作 变量定义方法很简单: x = 5 这个操作过程就是赋值,意思把整型数字5赋值给了变量x,用等号来连接变量名和值.之后就可以在表达式中使用这个新变量了. x * 3 1 ...

最新文章

  1. 【翻译自mos文章】怎么正确的计算一个ip地址的subnet id?
  2. java form 上传文件_form java springmvc怎么上传文件
  3. mysql jpa 批注 视图_通过JPA注解映射视图的实体类 jpa 视图 无主键 @Query注解的用法(Spring Data JPA) jpa 使用sql语句...
  4. Arduino笔记-呼吸流水灯
  5. HBASE整合ldap权限管理
  6. 电闹上赠么使用计算机,计算器怎么算n次方 怎么用电脑计算器算次方
  7. 就等android了
  8. 【转】我应该直接学Swift还是Objective-C?
  9. python星号倒金字塔结构_Python语言应用2020智慧树章节测试答案
  10. 分布式密钥管理Nucypher
  11. atmega128 单片机 密码锁 PROTEUS 仿真
  12. VS2013_CodeLens
  13. 成功三步曲:有勇、有谋、有德
  14. 快递系统java实验报告_java模拟物流快递系统程序.doc
  15. 自监督:对比学习contrastive learning
  16. 网络口碑推广主要目的全知道
  17. 搜狗输入法原先能在word中输入中文,现在不行。
  18. java写满天繁星,描写满天繁星唯美句子
  19. 10度角的三角函数计算(续)
  20. Web前端:什么是前端框架?

热门文章

  1. iContact AE 新增功能
  2. 自动解决智能拼图,A*算法
  3. html5 基础代码,{HTML5}基础核心-第一节-上
  4. kubeadm安装k8s 1.23.5
  5. 数据库开发岗的一点总结
  6. newifi3 web认证_newifi新路由3设置教程
  7. python使用scrapy开发爬虫
  8. IE浏览器的四种技巧,可以试用一下
  9. 各大门户调查:鄙视新浪,将博士伦的广告挂在热点新闻中间好几天了,把大众当傻瓜...
  10. 解决方案 | 回归医院运营管理本质,从建立指标体系出发