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.{}
====================================================================
  • 在某些情况下,你需要把输出的内容进来的聚合分类,这个时候就需要这个参数
Copyright 2017 - 2018. all right reserved,powered by Gitbook该文件修订时间: 2020-07-16 18:11:39

results matching ""

    No results matching ""