Komenda ls UNIX: -

0

Zastanawiałem się, co oznacza - w opcjach ls

Koduję sobie w C i muszę go zaimplementować, ale nie mogę znaleźć tego, o co chodzi

Jakaś pomoc ? Dzięki ❤

juleslasne
źródło
btw, jeśli sam piszesz, zajrzyj do powszechnie używanych bibliotek, takich jak GNU getopt które obsługują parsowanie.
Bob
Nie mogę używać żadnych zewnętrznych bibliotek;)
juleslasne
Oto moja strona GitHub dla projektu: GitHub.com/Seluj78/ft_ls
juleslasne
pisać ◦ opendir ◦ readdir ◦ closedir ◦ stat ◦ lstat ◦ getpwuid ◦ getgrgid ◦ listxattr getxattr ◦ czas ◦ ctime ◦ readlink ◦ malloc ◦ wolny ◦ perror ◦ strerror ◦ wyjście
juleslasne
A tezy to wszystkie funkcje, których mogę używać. Oczywiście zrobiłem swoją osobistą bibliotekę, z własnymi funkcjami, takimi jak strcmp itp ... (repozytorium libft na moim GitHubie) tak samo dla printf, przekodowałem to
juleslasne

Odpowiedzi:

2

Oznacza to po prostu zatrzymanie opcji przetwarzania, tak aby wszelkie następujące argumenty nie były traktowane jako opcje. Jest to konwencja przyjęta w wielu programach uniksowych i jest przydatna, jeśli chcesz przekazać argument rozpoczynający się od -, ale nie chcę, aby traktowano to jako opcję.

Na przykład, jeśli chcesz wyświetlić listę nazwanych plików -F, następnie ls -l -F nie zrobiłbym tego, co chcesz, ale ls -l -- -F by.

jjlin
źródło
Dziękuję za odpowiedź! Myślę więc, że oznacza to, że wszystko po - będzie traktowane jako pliki / foldery
juleslasne
Ale prawie każde narzędzie * nix odpowiada na --help. Czy - pomóż opcji lub argumentowi?
Darren
Technicznie rzecz biorąc, wszystko w linii poleceń jest argumentem (tj. Zawartością argv w programie C). To, co jest uważane za „opcję”, zależy od interpretacji programu, choć jest to bardzo powszechna konwencja, która traktuje rzeczy zaczynające się od - jako opcje. Akceptuję --help to także zwyczajna konwencja - istnieje wiele programów, które tego nie robią. --help jest argumentem programu (aksjomatycznie). Może to być opcja programu, jeśli używasz np. ls --help. Może również nie być opcją, jeśli używasz ls -- --help.
jjlin
@ Darren & gt; wspólna konwencja ma -- zatrzymać przetwarzanie opcji. To jest, -- samodzielnie, bez dołączonych liter. /// Inne popularne konwencje są pojedyncze - prefiks jest używany do opcji jednoliterowych i -- prefiks dla długich opcji. Na przykład porównaj ls --all (długa nazwa dla -a) i ls -all (taki sam jak ls -a -l -l, duplikat -l jest po cichu ignorowany). Ale tak naprawdę programy mogą robić, co chcą. Widzieć dd na przykład składnia.
spectras