TCL的命令行中解析

对于脚本语言,有个最基本的功能就是命令行解析,那么就涉及到argvargc这类系统定义的变量,下面简单的做个demo


#!/usr/bin/tclsh

proc print_help_screen {} {
    puts [join {
        "cmd1 subcmd1 Exec first Cmd"
        "cmd2 subcmd1 Exec second Cmd"
        "help         show help"
    } "\n"]

}

puts "argv0: $argv0"
puts "argc: $argc"
puts "argv0 abs: [file normalize $argv0]"
for {set i 0} {$i < [llength $argv]} {incr i} {
    set cmd [lindex $argv $i]
    puts "cmd$i: $cmd"
}

puts "-------------"
for {set i 0} {$i < $argc} {incr i} {
    set cmd [lindex $argv $i]
    puts "cmd$i: $cmd"
}

print_help_screen

输出的效果为:


fh@Feihu-3 learn % ./parse_redisconf.tcl arg1 arg2 arg3 arg4
argv0: ./parse_redisconf.tcl
argc: 4
argv0 abs: /Users/fh/fh_data/workspace/tcl/learn/parse_redisconf.tcl
cmd0: arg1
cmd1: arg2
cmd2: arg3
cmd3: arg4
-------------
cmd0: arg1
cmd1: arg2
cmd2: arg3
cmd3: arg4
cmd1 subcmd1 Exec first Cmd
cmd2 subcmd1 Exec second Cmd
help         show help
fh@Feihu-3 learn % 
  1. argc表示真正的参数个数,不包括脚本名称;
  2. 脚本名称使用argv0表示
  3. 每个参数可以通过[lindex $argv $i]获取
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值