Chinaunix首页 | 论坛 | 博客
  • 博客访问: 4175665
  • 博文数量: 601
  • 博客积分: 15410
  • 博客等级: 上将
  • 技术积分: 6884
  • 用 户 组: 普通用户
  • 注册时间: 2007-05-16 08:11
个人简介

独学而无友,则孤陋而寡闻!

文章分类

全部博文(601)

文章存档

2020年(1)

2018年(4)

2017年(7)

2016年(42)

2015年(25)

2014年(15)

2013年(36)

2012年(46)

2011年(117)

2010年(148)

2009年(82)

2008年(37)

2007年(41)

分类: BSD

2007-07-24 11:07:00

  在其它系统,像DOS上面,一个命令的参数顺序可能不重要,但是在FreeBSD中,很多命令都要求参数的顺序,顺序错了,命令可能就会执行出错。
  比如在论谈上一个问题:
  
  Man一下tcpdump:

tcpdump [ -AdDeflLnNOpqRStuUvxX ] [ -c count ]
               [ -C file_size ] [ -F file ]
               [ -i interface ] [ -m module ] [ -M secret ]
               [ -r file ] [ -s snaplen ] [ -T type ] [ -w file ]
               [ -W filecount ]
               [ -E spi@ipaddr algo:secret,...  ]
               [ -y datalinktype ] [ -Z user ]
               [ -y datalinktype ]
               [ expression ]
   
  发现选项-w file应该在expression之前。如果把-w file放在后面,则执行就会出错。

  同样还有ssh和scp。
     ssh [-1246AaCfgkMNnqsTtVvXxY] [-b bind_address] [-c cipher_spec]
         [-D port] [-e escape_char] [-F configfile] [-i identity_file] [-L
         port:host:hostport] [-l login_name] [-m mac_spec] [-o option]
         [-p port] [-R port:host:hostport] [-S ctl] [user@]hostname [command]
 

   如果把-P 等参数放在hostname后面,命令同样执行出错。

   其实,最简单的ls命令也要求顺序。不信就输入个命令:ls -A a* 和ls a* -A 试试,后面命令肯定会报错。

  对系统内部工作机制不是很了解,所以具体是不是一定有顺序,还不敢下断论。

  但是一般的规律,好象应该符合对命令解释的一般规则:
  “[]”内的不用考虑顺序,“[]”间要考虑顺序。


  受langue提示,找到:http://hi.baidu.com/shlongli/blog/item/388f2d7ba9684ef50ad18718.html

  getopt()的函数。
阅读(1959) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~