Widziałem wiele samouczków, które używają --
poleceń po. Coś takiego:
command --
Co to --
znaczy
command-line
Jibril
źródło
źródło
Odpowiedzi:
--
Służy do wskazania końca opcji wiersza poleceń. Umożliwia to użycie argumentów zaczynających się od--
. Na przykład, jeśli utworzysz plik o nazwie--foo
:A potem spróbuj go usunąć,
rm
pomyślisz, że podajesz mu argument:Jednym ze sposobów obejścia tego jest użycie
--
:Jest to powszechna praktyka zalecana przez POSIX , więc jest obsługiwana przez wiele programów.
źródło
rm
programu i wielu narzędzi zgodnych z POSIX. Zobacz wytyczną 10 . Aby faktycznie sprawdzić, czy Bash nie wykonuje pracy (i to nie miałoby sensu), po prostu stwórz mały skrypt za pomocą justprintf '> %s <\n' "$@"
i uruchom go--
.--
, ale oczywiście dzieje się tak, ponieważ odpowiedni moduł Perla (getopts
) również go obsługuje. Masz rację, po prostu szybko przeszukałemman bash
sekcję, którą zacytowałem, ale nie zauważyłem, że znajdowała się w sekcji „Opcje wiersza poleceń”. Dzięki za korektę, odpowiedź zredagowana.Większość poleceń użyje znaku -, aby powiedzieć poleceniu, że dalsze parametry powinny być traktowane inaczej. Jednym z przykładów jest rm - - nazwa pliku wymieniony powyżej. Kolejny przykład, skrypt taki jak „startx” zinterpretuje wszystko wcześniej - i przekaże wszystko po nim do serwera X.
źródło