1. mydan mcmd
root@feng-pc:~# mydan mcmd
SYNOPSIS
$0 -r range [--noop] [--verbose] cmd ..
[--timeout seconds (default 300) ]
[--max number (default 128) ]
[--interchange (default {})]
[--xx]
echo "input" |$0 -r range cmd
1.1. 参数
- range 操作对象
- noop 不执行,只显示真正运行的命令,用于调试
- verbose 文本输出,方便文本处理
- timeout 超时,单位秒
- interchange 替换符号,默认为{}
- xx 输出结果,把包涵操作对象的字符串替换为 interchange 指定的替换符
1.2. 例子
1.2.1. 常规
root@feng-pc:# mydan mcmd -r '10.10.10.{144,145}' 'echo foo.{}'
10.10.10.144 started.
10.10.10.145 started.
10.10.10.144 done.
10.10.10.145 done.
############################## RESULT ##############################
====================================================================
10.10.10.145[1]:
foo.10.10.10.145
====================================================================
10.10.10.144[1]:
foo.10.10.10.144
====================================================================
1.2.2. noop
root@feng-pc:# mydan mcmd -r '10.10.10.{144,145}' --noop 'echo foo.{}'
echo foo.10.10.10.145
echo foo.10.10.10.144
1.2.3. verbose
root@feng-pc:# mydan mcmd -r '10.10.10.{144,145}' --verbose 'echo foo.{}'
10.10.10.144:foo.10.10.10.144
10.10.10.145:foo.10.10.10.145
1.2.4. interchange
root@feng-pc:# mydan mcmd -r '10.10.10.{144,145}' --interchange '\[\]' 'echo foo.[]'
10.10.10.144 started.
10.10.10.145 started.
10.10.10.144 done.
10.10.10.145 done.
############################## RESULT ##############################
====================================================================
10.10.10.145[1]:
foo.10.10.10.145
====================================================================
10.10.10.144[1]:
foo.10.10.10.144
====================================================================
root@feng-pc:# mydan mcmd -r '10.10.10.{144,145}' --interchange 'ABC' 'echo foo.ABC'
10.10.10.145 started.
10.10.10.144 started.
10.10.10.145 done.
10.10.10.144 done.
############################## RESULT ##############################
====================================================================
10.10.10.144[1]:
foo.10.10.10.144
====================================================================
10.10.10.145[1]:
foo.10.10.10.145
====================================================================
- 有时候你写的命令中有默认的替换符“{}”,这个时候可能和mcmd的产生了冲突,可以指定一个新的替换符号
1.2.5. xx
root@feng-pc:~# mydan mcmd -r '10.10.10.{144,145}' --xx 'echo foo.{}'
10.10.10.145 started.
10.10.10.144 started.
10.10.10.145 done.
10.10.10.144 done.
############################## RESULT ##############################
====================================================================
10.10.10.{144~145}[2]:
foo.{}
====================================================================
- 在某些情况下,你需要把输出的内容进来的聚合分类,这个时候就需要这个参数