当前位置:  技术问答>linux和unix

菜鸟问题:rmdir --help --version?

    来源: 互联网  发布时间:2016-02-16

    本文导语:  #rmdir --help --version? 为什么结果只显示help,不显示版本信息呢 #mkdir --version --help 为什么结果只显示版本信息,不显示帮助信息呢 #mkdir 123 --help 为什么结果显示帮助信息,而没有建立目录 12345 #mkdir -p 123/123 --hel...

#rmdir --help --version?
为什么结果只显示help,不显示版本信息呢

#mkdir --version --help
为什么结果只显示版本信息,不显示帮助信息呢

#mkdir 123 --help
为什么结果显示帮助信息,而没有建立目录 12345

#mkdir -p 123/123 --help
和上面一样,
为什么,请大虾帮忙解释!

|
/* mkdir - make directories */

/* See Makefile for compilation details. */

#include 

#include "bashtypes.h"
#include "posixstat.h"
#include 
#include 
#include "bashansi.h"
#if defined (HAVE_UNISTD_H)
#  include 
#endif

#include "builtins.h"
#include "shell.h"
#include "bashgetopt.h"

#if !defined (errno)
extern int errno;
#endif

#define ISOCTAL(c) ((c) >= '0' && (c) word, nmode, parent_mode))
{
  rval = EXECUTION_FAILURE;
  continue;
}
      else if (pflag == 0 && mkdir (l->word->word, nmode) word->word, strerror (errno));
          rval = EXECUTION_FAILURE;
        }
    }
  return rval;
}

/* Make all the directories leading up to PATH, then create PATH.  Note that
   this changes the process's umask; make sure that all paths leading to a
   return reset it to ORIGINAL_UMASK */
static int
make_path (path, nmode, parent_mode)
     char *path;
     int nmode, parent_mode;
{
  int oumask;
  struct stat sb;
  char *p, *npath;

  if (stat (path, &sb) == 0)
    {
      if (S_ISDIR (sb.st_mode) == 0)
{
  builtin_error ("`%s': file exists but is not a directory", path);
  return 1;
}

      if (chmod (path, nmode))
        {
          builtin_error ("%s: %s", path, strerror (errno));
          return 1;
        }

      return 0;
    }

  oumask = umask (0);
  npath = savestring (path); /* So we can write to it. */
    
  /* Check whether or not we need to do anything with intermediate dirs. */

  /* Skip leading slashes. */
  p = npath;
  while (*p == '/')
    p++;

  while (p = strchr (p, '/'))
    {
      *p = '';
      if (stat (npath, &sb) != 0)
{
  if (mkdir (npath, parent_mode))
    {
      builtin_error ("cannot create directory `%s': %s", npath, strerror (errno));
      umask (original_umask);
      free (npath);
      return 1;
    }
}
      else if (S_ISDIR (sb.st_mode) == 0)
        {
          builtin_error ("`%s': file exists but is not a directory", npath);
          umask (original_umask);
          free (npath);
          return 1;
        }

      *p++ = '/'; /* restore slash */
      while (*p == '/')
p++;
    }

  /* Create the final directory component. */
  if (stat (npath, &sb) && mkdir (npath, nmode))
    {
      builtin_error ("cannot create directory `%s': %s", npath, strerror (errno));
      umask (original_umask);
      free (npath);
      return 1;
    }

  umask (original_umask);
  free (npath);
  return 0;
}

char *mkdir_doc[] = {
"Make directories.  Create the directories named as arguments, in",
"the order specified, using mode rwxrwxrwx as modified by the current",
"umask (see `help umask').  The -m option causes the file permission",
"bits of the final directory to be MODE.  The MODE argument may be",
"an octal number or a symbolic mode like that used by chmod(1).  If",
"a symbolic mode is used, the operations are interpreted relative to",
"an initial mode of "a=rwx".  The -p option causes any required",
"intermediate directories in PATH to be created.  The directories",
"are created with permssion bits of rwxrwxrwx as modified by the current",
"umask, plus write and search permissions for the owner.  mkdir",
"returns 0 if the directories are created successfully, and non-zero",
"if an error occurs.",
(char *)NULL
};

struct builtin mkdir_struct = {
"mkdir",
mkdir_builtin,
BUILTIN_ENABLED,
mkdir_doc,
"mkdir [-p] [-m mode] directory [directory ...]",
0
};

推荐研究源码bash-3.1/examples/loadables/mkdir.c

    
 
 

您可能感兴趣的文章:

  • 菜鸟又送分来了!请问各位大虾谁有《JSP Specification Version 1.0》的电子版?
  • 菜鸟问一个关于j2ee的菜鸟问题
  • 菜鸟求问菜鸟问题 ,域名绑定
  • gcc问题---菜鸟发问之一,老大们帮忙啊!!菜鸟分不多,只好给这点了,对不起!!
  • 菜鸟又来问菜鸟问题了
  • 一个关于日期的问题!(菜鸟问题,请高手不吝赐教)
  • linux下游戏问题。(菜鸟问题)
  • 菜鸟问题:现在要做unix下的c/c+编程的几个问题?
  • 菜鸟问题,在jbuilder中的编程小问题
  • 超级菜鸟的~~不好意思问题~~REDHAT9的视频播放问题~!
  • 菜鸟问题 : 关于使用Flex的问题
  • [菜鸟问题]关于live555的问题
  • 小菜鸟问题请 遇到过相同问题的朋友们请介绍下经验,谢过先
  • (菜鸟飞飞)问个关于软中断和系统调用的问题
  • 菜鸟提问了,关于编译问题?
  • 论坛 iis7站长之家
  • 菜鸟问题:如何在red hat 9下加入一个新的分区
  • 菜鸟问题:在Java中如何接收从键盘输入的字符串?
  • 菜鸟问题~~快点进来拿分
  • 菜鸟菜问题1
  • 菜鸟问题:如何在Solaris下配置显卡和显示器
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • ----菜菜鸟第三问:-菜鸟菜问:JAVA如何求 根号、开次方? -----
  • 怎样从一个菜鸟级的java programer升级到一个菜鸟级的java developer
  • 一个连菜鸟都算不上的菜鸟
  • ===菜鸟系列===:写过毕业论文的前辈请进!!!菜鸟散分啦!!!!
  • 菜鸟的Linux练习疑问……
  • 菜鸟刚学jsp,还不知道怎么和sql server2000的数据库相连,我已经把odbc配好了,谁能给我一段和数据库相连的并显示所有数据的代码!菜鸟
  • 菜鸟提问,我怎么装redhat7。1
  • 菜鸟写的俄罗斯方块,请多多批评!
  • 小问题,你一定能够帮忙!——菜鸟请求帮忙!!
  • 一个菜鸟的请求: 哪位前辈能给晚辈讲讲“匿名类”
  • ※菜鸟送分之一※ Red Hat Linux 的最高版本是多少?
  • ★菜鸟问:怎么在RED HAT LINUX7.2中用169上网??
  • 菜鸟提问:包是什么概念?
  • 如何解压光盘上的gz文件到某个目录?(Linux 超级菜鸟问题之一)
  • 菜鸟的问题:求助,关于red hat linux 引导程序
  • 菜鸟问题,如何在Windows 设置CLASSPATH,我还没吃午饭
  • 菜鸟到此报到,各位前辈多多指教^_^
  • 初级菜鸟的简单问题,关于DeviceIoControl,各位高手指点一下吧!
  • 菜鸟问题!!!
  • 菜鸟提问:请问Unix下面有没有类似Win32下_T这样的宏?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3