Cmdline包主要用来处理命令行输入。
- getopt argvVar optstring optVar valVar
getopt与C语言中的getopt函数类似,如果成功取出命令行参数返回1,如果所有的命令行参数已经取完返回0,发生错误返回-1。argvVar是包含了参数的字符串,一般就是argv,optstring说明了参数选项,如果参数后还有值需要输入,例如“-f abc”这样的形式,这个时候参数选项需要以“.arg”结尾。valVar说明了取到的参数值的存储,如果以“.arg”返回实际取到的参数的值,否则返回1。
- getKnownOpt argvVar optstring optVar valVar
和getopt类似,但是忽略所有不认识的选项。
- getoptions arglistVar optlist ? usage ?
和getopt类似,只是一次调用就取回所有的选项。
- getKnownOptions arglistVar optlist ? usage ?
和getKnownOpt类似,只是一次调用就取回所有的选项。
例子1:
#!/usr/local/bin/tclsh
package require cmdline
set flag_a 0
set flag_b 0
set value_r 0
set value_t ""
set usage "Usage:
-a set flag a
-b set flag b
-r value set flag r
-t value set flag t"
while {[set ok [cmdline::getopt argv {a b r.arg t.arg} opt val]] > 0} {
switch -exact -- $opt {
a {set flag_a 1}
b {set flag_b 1}
r {set value_r $val}
t {set value_t $val}
}
}
if { $flag_a == 1 } {
puts "===Option a is set!==="
}
if { $flag_b == 1 } {
puts "===Option b is set!==="
}
if { $value_r != 0 } {
puts "===Option r is set, the value is $value_r==="
}
if { $value_t != "" } {
puts "===Option t is set, the value is $value_t==="
}
if { $flag_a == 0 && $flag_b == 0 && $value_r == 0 && $value_t == "" } {
puts stderr $usage
}
例子2:
#!/usr/local/bin/tclsh
package require cmdline
set options {
{a "This is option a!"}
{b "This is option b!"}
{r.arg "" "This is option r, it should be r value"}
{t.arg -1 "This is option t, the default value is -1"}
}
set err_msg "Usage:
-a This is option a
-b This is option b
-r value This is option r, it should be r value
-t valua This is option t, the default value is -1"
array set params [cmdline::getoptions argv $options $err_msg]
set flag 0
if { $params(a) } {
puts "===The option a is set=="
set flag 1
}
if { $params(b) } {
puts "===The option b is set=="
set flag 1
}
set has_t [expr {$params(t) != -1}]
if { $has_t } {
puts "===The option t is set==="
puts "===$params(t)==="
set flag 1
}
set has_r [expr {[string length $params(r)] > 0}]
if { $has_r } {
puts "===The option r is set==="
puts "===$params(r)==="
set flag 1
}
if { $flag == 0 } {
puts stderr $err_msg
}
分享到:
相关推荐
解压缩,新建目录并放到目录:~/Library/Android/sdk/cmdline-tools/latest。cd到目录执行`./sdkmanager "build-tools;32.0.0" "platforms;android-32" "platform-tools"`, #加~/.bash_profile ANDROID_HOME="/...
OllyDbg官网的CmdLine,以压缩文件格式分享给大家。 64bit系统。 无需要积分。 免费。 zip格式压缩。
cmdline.zipcmdline.zipcmdline.zipcmdline.zipcmdline.zipcmdline.zipcmdline.zipcmdline.zip
读取/proc/cmdline 文件中的标志位信息。。
资源分类:Python库 所属语言:Python 资源全名:cmdline_provenance-0.1.0.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
这是我在学习NS2 的时候 看的 Tcl用法详述内容非常好,详细精炼,对于学校NS2非常有帮助。
基于stvp工具的STVP_CmdLine基础上做的LABVIEW程序,带CRC32文件校验,可以校验烧录程序的CRC32校验码
将bash中的命令行功能提取了出来,可以用做一个运行中的程序的命令行调试接口。
dpdk-cmdline源码
一个分析命令行参数的类,我修改了下.单件模式.支持ANSI UNICODE模式.
cmdline-jmxclient-0.10.3 用于jmx监控调试,可应用于zabbix下java进程的监控。
获取jmx详细参数,便与监控tomcat等还有jvm启动的java项目
ST-LINK,V2 自动烧录
labview调用STVP_CmdLine.exe,进行STM8S103F3单片机烧录,其他型号 -Device=STM8S103F3自行修改。
cmdline-jmxclient-0.10.3.jar + zabbix tomcat监控模板
自己做的zabbix监控tomcat的模版,支持3.4版,外带cmdline-jmxclient-0.10.3.jar工具,低积分下载,普及大众
ddgr是一个cmdline实用程序,用于从终端搜索DuckDuckGo