Jak w Bash mogę utworzyć katalog o nazwie -p
?
mkdir -p
nie powiodło się
mkdir "-p"
nie powiodło się
mkdir "\-p"
nie powiodło się
mkdir \-p
nie powiodło się
rmdir
ale nie powiodły się te same błędy.
Jak w Bash mogę utworzyć katalog o nazwie -p
?
mkdir -p
nie powiodło się
mkdir "-p"
nie powiodło się
mkdir "\-p"
nie powiodło się
mkdir \-p
nie powiodło się
rmdir
ale nie powiodły się te same błędy.
Odpowiedzi:
Większość narzędzi (wszystkie zgodne z POSIX, z wyjątkiem test
i echo
) obsługuje opcję „koniec opcji” --
, dzięki czemu można uruchomić:
mkdir -- -p
Jest to szczególnie przydatne podczas zmiany nazwy lub usuwania plików, które potencjalnie mogą zaczynać się od myślnika. W skryptach należy zawsze używać
mv -- "$filename"
zamiast zwykłej mv "$filename"
lub, co gorsza, niecytowanej nazwy pliku.