Domyślne zachowanie: Gdy ta sekcja jest wymieniona jako „Brak”, oznacza to, że implementacja nie musi obsługiwać żadnych opcji. Standardowe narzędzia, które nie akceptują opcji, ale akceptują operandy, będą uznawane "--"za pierwszy argument, który należy odrzucić.
Wymaganie do rozpoznania "--"jest spowodowane tym, że zgodne aplikacje potrzebują sposobu ochrony swoich argumentów przed wszelkimi dowolnymi opcjami, które implementacja może zapewnić jako rozszerzenie. Na przykład, jeśli standardowe narzędzie foo jest wymienione jako nie przyjmujące żadnych opcji, a aplikacja musi nadać mu ścieżkę z wiodącym łącznikiem, może bezpiecznie to zrobić jako:
foo -- -myfile
i unikaj problemów z -m używanym jako rozszerzenie.
Wytyczna 10:
Argument --powinien zostać zaakceptowany jako separator wskazujący koniec opcji. Wszelkie poniższe argumenty należy traktować jak operandy, nawet jeśli zaczynają się od '-'znaku. --Argument nie powinien być stosowany jako opcja lub jako argumentu.
Podaj ścieżkę jawnie:
cd ./-2
Określa ścieżkę jawnie nazywającą bieżący katalog ( .) jako punkt początkowy.
cd $(pwd)/-2
cd /absolute/path/to/-2
Są to odmiany powyżej. Możliwa jest dowolna liczba takich odmian; Zostawię to jako ćwiczenie dla czytelnika, aby odkryć je wszystkie.
Wiem, że na to pytanie już udzielono odpowiedzi. Jeśli ktoś ma sytuację taką jak moja, to dla nich:
Uruchomiłem aplikację Java i szukałem katalogu zaczynającego się od. <path>Miałem zastąpić go właściwą ścieżką przed uruchomieniem aplikacji. Jednak zapomniałem to zrobić. Aplikacja utworzyła katalog o nazwie <path>.
Próbowałem cd <path>- dał mi błąd „-bash: błąd składni w pobliżu nieoczekiwanego nowego wiersza tokena” Na podstawie sugestii tutaj (rozumiem, że to dla katalogu zaczynającego się od - a nie <) próbowałem cd -- <path>. Mam jednak ten sam błąd.
Kiedy próbowałem cd \<path>\- zadziałało!
Informacje dodatkowe:
Symbole „<” i „>” są używane do przekierowania STDIN i STDOUT, dlatego należy je uciec, aby powłoka nie interpretowała ich jako przekierowań.
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.