Como criar um diretório chamado '-p' no Linux com o Bash? [duplicado]

21

No Bash, como eu poderia criar um diretório chamado -p ?

mkdir -p falhou.
mkdir "-p" falhou.
mkdir "\-p" falhou.
mkdir \-p falhou.

    
por Jichao 07.04.2014 / 10:22

2 respostas

40

A maioria dos utilitários (todos compatíveis com POSIX, exceto test e echo ) suportam um "fim de opções "opção -- , para poder executar:

mkdir -- -p

Isso é especialmente útil ao renomear ou remover arquivos que poderiam começar com um traço. Em scripts você deve sempre usar

mv -- "$filename"

em vez de um simples mv "$filename" ou, pior ainda, um nome de arquivo sem nome.

    
por 07.04.2014 / 10:38
18

mkdir ./-p

Tenha em mente que a maioria dos outros programas precisaria usar o mesmo "truque".

    
por 07.04.2014 / 10:27

Tags