POSIX to akronim przenośnego interfejsu systemu operacyjnego, rodziny standardów określonych przez IEEE w celu utrzymania zgodności między systemami operacyjnymi.
W komentarzach do tego pytania pojawił się przypadek, w którym różne implementacje sed nie zgadzały się z dość prostym programem, a my (lub przynajmniej ja) nie byliśmy w stanie ustalić, czego właściwie wymaga specyfikacja. Problemem jest zachowanie zakresu rozpoczynającego się od usuniętej linii: 1d;1,2d Czy wiersz 2 powinien zostać usunięty, …
Wbudowane testi [narzędzia mają testy -nt(„nowsze niż”) i -ot(„starsze niż”) w większości powłok, nawet gdy powłoka działa w „trybie POSIX” (dotyczy to również zewnętrznych narzędzi o tych samych nazwach w systemy, do których mam dostęp). Testy te służą do porównywania znaczników czasu modyfikacji dwóch plików. Ich udokumentowana semantyka różni się …
POSIX definiuje zachowanie narzędzi takich jak grep, awk, seditp, które pracują na plikach tekstowych. Ponieważ jest to plik tekstowy, myślę, że występują problemy z kodowaniem znaków. Pytanie: Jakie kodowanie znaków jest obsługiwane przez POSIX? (lub pliki tekstowe, jakie kodowanie może być obsługiwane przez systemy z kompilatorem POSIX?)
Istnieją dwie nazwy: podpowłoka i powłoka podrzędna . Tak, proces potomny zostanie uruchomiony przez dowolną z następujących czynności: sh -c 'echo "Hello"' ( echo "hello" ) echo "$(echo "hello") echo "hello" | cat Czy wszystkie są równoważne i mają tę samą nazwę? Czy wszystkie mają te same właściwości? POSIX ma …
Alternatywny tytuł: Co to jest „kolejność zestawiania” lub „element zestawiania” w wyrażeniu regularnym zgodnym z POSIX? Dokładną definicję techniczną znalazłem w rozdziale 9.3.5 specyfikacji POSIX , jako pozycja nr 4 na liście, ale nie jest to dla mnie jasne. Przeszukiwałem Internet, szukając przykładów i wyjaśnień, i wymyśliłem, że nie jestem …
Na końcu man grepjest napisane SEE ALSO\ POSIX Programmer's Manual Page grep(1p). Nie mogę otworzyć strony podręcznika grep(1p). Jak mogę to zrobić? Szukaj w sieci, Unix.SE i próbowałem i popełniłem błąd, ale jeszcze nie miałem szczęścia. Wypróbowany $ man 1p grep $ man -K grep EDYTOWAĆ: Jestem na Ubuntu 14.10
Wygląda na to, że Linux obsługuje zmianę właściciela dowiązania symbolicznego (tj. lchown), Ale zmiana trybu / uprawnienia dowiązania symbolicznego (tj. lchmod) Nie jest obsługiwana . O ile widzę, jest to zgodne z POSIX. Nie rozumiem jednak, dlaczego ktoś wspierałby jedną z tych operacji, ale nie obie. Jaka jest tego motywacja?
Przedmowa: Rozumiem różnicę między -exec {} \;& -exec {} +. Ja też nie mam problemu jako takiego , jestem po prostu ciekawy temat semantyki find. Kiedy kończy się -execargument, ze +zamiast ;, to trzeba z tym skończyć z {} +, na przykład: # FreeBSD find $ find . -type f …
OK, więc sourceuruchamia skrypt w bieżącej powłoce i .osobno, jak opisano na przykład przy uruchamianiu skryptu za pomocą „.” I „source” , ale konkretnie w moim .bashrcpliku mam: [ -f ~/.bash_aliases ] && source ~/.bash_aliases [ -f ~/.git-completion.bash ] && source ~/.git-completion.bash [ -s ~/.autojump/etc/profile.d/autojump.sh ] && source ~/.autojump/etc/profile.d/autojump.sh Czy …
W jaki sposób mogę wydrukować listę aktualnie zdefiniowanych zmiennych środowiskowych bez ich wartości w sposób zgodny z posix, który działa z wieloma implementacjami ? W niektórych implementacjach (mksh, freebsd / bin / sh), samo użycie exportbędzie pasować do rachunku: $ export FOO2 FOO Ale w przypadku niektórych innych implementacji (bash, …
Czy jest to możliwe, czy jest jakiś elegancki hack, aby dokonać pośredniej rozbudowy zmiennych w POSIX, jak można to zrobić w Bash? W kontekście próbuję wykonać następujące czynności: for key in ${!map_*} do # do something done EDYCJA: Aby to wyjaśnić, chciałbym uzyskać dostęp do zmiennych powłoki, które zaczynają się …
W sekcji „Wyszukiwanie i wykonywanie poleceń” specyfikacja POSIX mówi, że PATHjest przeszukiwana podczas znajdowania narzędzia do wykonania (z pewnymi wyjątkami). Czy specyfikacja wspomina gdziekolwiek, które PATHzostanie zainicjowane na wartość, która gwarantuje, że zostaną znalezione wszystkie standardowe narzędzia? Czy też muszę zrobić coś takiego, aby zagwarantować, że nigdy nie dostanę błędu …
Chciałbym, aby zalogować standardowego wyjścia i standardowego błędu oddzielnie w .xprofileużyciu logger. Myślę, że w Bash wyglądałoby to mniej więcej tak: exec 1> >(logger --priority user.notice --tag $(basename $0)) \ 2> >(logger --priority user.error --tag $(basename $0)) Jak mam to zrobić w sposób zgodny z POSIX/bin/sh ?
Wiem, że mogę to zrobić w Bash: wc -l <<< "${string_variable}" Zasadniczo wszystko, co znalazłem, dotyczyło <<<operatora Bash. Ale w powłoce POSIX <<<jest niezdefiniowany i od wielu godzin nie jestem w stanie znaleźć alternatywnego podejścia. Jestem pewien, że istnieje proste rozwiązanie tego problemu, ale niestety nie znalazłem do tej pory.
Zobacz następujące przykłady i ich wyniki w powłokach POSIX: false;echo $?lub false || echo 1:1 false;foo="bar";echo $?lub foo="bar" && echo 0:0 foo=$(false);echo $?lub foo=$(false) || echo 1:1 foo=$(true);echo $?lub foo=$(true) && echo 0:0 Jak wspomniano w najczęściej głosowanej odpowiedzi na /programming/6834487/what-is-the-variable-in-shell-scripting : $? służy do znalezienia wartości zwracanej ostatnio wykonanej …
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.