POSIX to akronim przenośnego interfejsu systemu operacyjnego, rodziny standardów określonych przez IEEE w celu utrzymania zgodności między systemami operacyjnymi.
Próbuję napisać wszystkie moje shskrypty startowe / env do pracy z tak dużą ilością OSUSZANIA i jak najwięcej: „działa na każdym * nix, w którym go klonuję”, jak to możliwe. Oznacza to upewnienie się, że jeśli spróbuję uruchomić kod, którego tam nie ma, kod nie działa płynnie. W tym celu …
Z pytania o to, czy printf jest wbudowanym narzędziem yash , pochodzi ta odpowiedź, która cytuje standard POSIX . Odpowiedź wskazuje, że sekwencja wyszukiwania POSIX polega na znalezieniu zewnętrznej implementacji żądanego polecenia, a następnie, jeśli powłoka zaimplementowała go jako wbudowaną, uruchom wbudowaną. (Dla wbudowanych, które nie są specjalnymi wbudowanymi ). …
Właśnie natrafiłem na fcpolecenie, które pozwala edytować poprzednie polecenie i wydać je później. Posiada własną FCEDITzmienną środowiskową do ustawiania edytora oraz stronę podręcznika użytkownika w POSIX Programmer's Manual ( 1p). Tworzy plik w /tmpkatalogu i wykonuje zawartość, jeśli plik jest zapisany ( :wqw vim). Oprócz tego może numerować i wyświetlać …
W moim .profile używam następującego kodu, aby upewnić się, że aliasy i funkcje związane z Bash są pozyskiwane tylko wtedy, gdy powłoką logowania jest Bash : # If the current (login) shell is Bash, then if [ "${BASH_VERSION:-}" ]; then # source ~/.bashrc if it exists. if [ -f "$HOME/.bashrc" …
Wiem, że mogę użyć jednego z pierwszych wierszy skryptów do wywołania pożądanej powłoki. Byłoby #!/bin/shzalecane, jeśli zgodność ze wszystkimi systemami uniksowymi jest absolutnym wymogiem? W moim przypadku jedynym systemem, na którym mi zależy, jest Ubuntu (Debian) i OSX. Biorąc to pod uwagę, czy mogę używać #!/bin/bashi mieć pewność, że będzie …
Specyfikacja POSIX chownnarzędzia wspomina w sekcji uzasadnienia o chown user:groupskładni (dawniej chown user.group) (moje wyróżnienie): Metoda 4.3 BSD określająca zarówno właściciela, jak i grupę została uwzględniona w tym tomie POSIX.1-2008, ponieważ: Są przypadki, w których pożądany warunek końcowy nie mógł zostać osiągnięty za pomocą narzędzi chgrp i chown (które tylko …
Ze strony Shell Command Language specyfikacji POSIX: Jeśli pierwszy wiersz pliku poleceń powłoki zaczyna się od znaków „#!”, Wyniki nie są określone. Dlaczego zachowanie #!nieokreślone przez POSIX? Dziwi mnie, że coś tak przenośnego i powszechnie używanego miałoby nieokreślone zachowanie.
Na popiołu, biegu i uderzeniu, kiedy biegnę $ echo ab$ powraca ab$ Czy takie zachowanie jest określone przez POSIX, czy jest to tylko powszechna konwencja w powłokach zgodnych z POSIX? Nie mogłem znaleźć niczego na stronie języka poleceń powłoki POSIX, która wspomniałaby o tym zachowaniu.
Kiedy chcę poprosić o hasło w bashskrypcie, robię to: read -s ... ale kiedy uruchamiam bashw trybie POSIX sh, -sopcja jest odrzucana: $ read -s sh: 1: read: Illegal option -s Jak bezpiecznie poprosić o dane wejściowe za pomocą polecenia zgodnego z POSIX?
Podczas inkrementacji zmiennej przed / po, w powłoce POSIX, jaka jest różnica między tymi dwoma przykładami. Wydaje się, że miałyby takie same konsekwencje, ale czy byłyby wykorzystywane w inny sposób? Kiedy wolisz jeden od drugiego? X=$((X+1)) : $((X=X+1))
Przeczytałem, że systemy operacyjne zgodne z POSIX (na przykład: Linux) muszą mieć shpowłokę. Ale czy musi shbyć w /binkatalogu, czy może znajdować się w dowolnym katalogu?
W wydaniu IEEE Std 1003.1-2008 2016 (aka The Open Group Base Specification Issue 7, lub po prostu standard POSIX), sekcja uzasadnienia whonarzędzia wspomina o: Dopuszczalne jest, aby implementacja nie generowała danych wyjściowych dla wywołania kto mil . Kim lub czym jest „mil”? Dlaczego implementacja może generować brak wyników who mil?
Zauważyłem niedawno, że specyfikacje POSIXfind nie obejmują -maxdepthpodstawowego. Dla tych, którzy go nie znają, głównym celem -maxdepthjest ograniczenie o ile poziomów findzejdzie. -maxdepth 0powoduje przetwarzanie tylko argumentów wiersza poleceń; -maxdepth 1obsługuje tylko wyniki bezpośrednio w argumentach wiersza poleceń itp. Jak mogę uzyskać zachowanie równoważne z podstawowym systemem innym niż POSIX, …
Czy ktoś może ustawić te narzędzia w kolejności przenośności? Która z nich jest pewne, można znaleźć na nawet najbardziej minimalne systemów uniksowych? Czy któryś z nich jest w 100% na pewno obecny? Domyślam się, że kolejność jest następująca: awk sed sh perl Chociaż wyobrażam sobie, że istnieją systemy, które nie …
Komenda GNU coreutils timeoutjest niezwykle przydatna w niektórych sytuacjach skryptowych, pozwalając na użycie danych wyjściowych polecenia, jeśli jest ono szybkie, i pomijanie, jeśli zajmie to zbyt dużo czasu. Jak mogę przybliżyć podstawowe zachowanie timeoutprzy użyciu tylko narzędzi określonych w POSIX? (Myślę, że może to wiązać się z kombinacji wait, sleep, …
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.