Por que o Interix mkdir não está honrando o argumento -p?

1

Estou usando o Interix no Windows para compatibilidade com o Unix e estou descobrindo que o argumento -p para mkdir não está se comportando como eu esperava:

> which mkdir
C:\SFU\bin\mkdir

> mkdir -p c:\Program Files\
A subdirectory or file -p already exists.
Error occurred while processing: -p.

A página man do SUA para o mkdir afirma em parte:

NAME
     mkdir - make directories

SYNOPSIS
     mkdir [-p] [-m mode] directory_name [...]

DESCRIPTION
     The mkdir utility creates the directories named as operands, in the order
     specified, using mode rwxrwxrwx (0777) as modified by the current
     umask(2).

     -p      Create intermediate directories as required.  If this option is
             not specified, the full path prefix of each operand must already
             exist.  Intermediate directories are created with permission bits
             of rwxrwxrwx (0777) as modified by the current umask, plus write
             and search permission for the owner.  Do not consider it an error
             if the argument directory already exists.

Por que estou recebendo erro sobre o diretório existente mesmo depois de ter passado -p ? Parece que o -p não é reconhecido como um sinalizador e, em vez disso, está criando um diretório denominado -p . Como você passa o argumento -p ?

    
por WilliamKF 25.02.2013 / 04:27

1 resposta

0

O windows mkdir estava sendo escolhido em vez do Interix. Evito o problema, fornecendo um caminho completo para o local mkdir do Interix. Isso foi necessário mesmo que which mkdir tenha fornecido o Interix.

    
por 25.02.2013 / 04:35