Warum berücksichtigt Interix mkdir das Argument -p nicht?

Warum berücksichtigt Interix mkdir das Argument -p nicht?

Ich verwende Interix unter Windows aus Gründen der Unix-Kompatibilität und finde das -pArgument, dass mkdires sich nicht wie erwartet verhält:

> which mkdir
C:\SFU\bin\mkdir

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

Auf der SUA-Manpage für mkdir heißt es unter anderem:

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.

Warum erhalte ich eine Fehlermeldung bezüglich eines vorhandenen Verzeichnisses, obwohl ich übergeben habe -p? Es scheint, dass -pnicht als Flag erkannt wird und stattdessen ein Verzeichnis mit dem Namen erstellt wird -p. Wie übergeben Sie das -pArgument?

Antwort1

Es wurde Windows mkdiranstelle von Interix ausgewählt. Ich vermeide das Problem, indem ich den vollständigen Pfad zum Interix- mkdirSpeicherort angebe. Dies war erforderlich, obwohl which mkdirder Interix-Speicherort angegeben wurde.

verwandte Informationen