Umiem pisać VAR=$VAR1 VAR=${VAR1} VAR="$VAR1" VAR="${VAR1}" wynik końcowy wydaje mi się taki sam. Dlaczego mam pisać jedno lub drugie? czy któreś z nich nie jest przenośne /
POSIX to akronim przenośnego interfejsu systemu operacyjnego, rodziny standardów określonych przez IEEE w celu utrzymania zgodności między systemami operacyjnymi.
Umiem pisać VAR=$VAR1 VAR=${VAR1} VAR="$VAR1" VAR="${VAR1}" wynik końcowy wydaje mi się taki sam. Dlaczego mam pisać jedno lub drugie? czy któreś z nich nie jest przenośne /
Widzę często wymieniane POSIX i wszędzie, i założyłem, że jest to podstawowy standard UNIX .. dopóki nie zauważyłem następującego fragmentu na stronie Wikipedii: The Open Group Grupa Open jest najbardziej znana jako jednostka certyfikująca znak towarowy UNIX, a publikacja standardu technicznego...
Potrafię zdefiniować bashfunkcje za pomocą lub pominięcia functionsłowa kluczowego. Czy jest jakaś różnica? #!/bin/bash function foo() { echo "foo" } bar() { echo "bar" } foo bar Oba wywołania funkcji fooi barodnieść sukces i nie widzę żadnej różnicy. Zastanawiam się więc, czy chodzi tylko...
Czy istnieje oficjalny POSIX, GNU lub inne wytyczne dotyczące tego, gdzie powinny być drukowane raporty z postępu i informacje o logowaniu (takie jak „Doing foo; foo done”)? Osobiście staram się pisać je do stderr, aby móc przekierować standardowe wyjście i uzyskać tylko rzeczywiste wyjście...
Biorąc pod uwagę, że POSIX jest najbliższy wspólnemu standardowi wśród wszystkich jednorożców, interesuje mnie, czy istnieje powłoka, która obsługuje go wyłącznie. Chociaż większość współczesnych powłok zapewnia obsługę POSIX (i bez problemu uruchomi skrypty zgodne z POSIX), nie radzą sobie dobrze...
Jak wspomniano w tej dokładnej odpowiedzi , systemy POSIX mają wbudowany zewnętrzny plik binarny cdoprócz wbudowanej powłoki. W OS X 10.8 jest to /usr/bin/cd. Nie możesz używać go jak wbudowanego, cdponieważ wychodzi on natychmiast po zmianie własnego katalogu roboczego. Do czego to...
Od czasu do czasu muszę podać ścieżkę „równoważne” w jednym ze standardowych strumieni IO ( stdin, stdout, stderr). Ponieważ 99% czasu pracuję z Linuksem, po prostu przygotowuję się /dev/do zdobycia /dev/stdinitp., A to „ wydaje się właściwe”. Ale z jednej strony zawsze byłem zaniepokojony takim...
Jakie są różnice między POSIX, specyfikacją Single UNIX i specyfikacją Open Group Base ? Myślę, że ich celem jest ustalenie, czy system operacyjny to
Wyrażenie .*jest rozwijane przez bash, aby uwzględnić katalogi bieżący i nadrzędny: $ ls -la total 2600 drwxrwxrwx 2 terdon terdon 2162688 Sep 10 16:22 . drwxr-xr-x 142 terdon terdon 491520 Sep 10 15:34 .. -rw-r--r-- 1 terdon terdon 0 Sep 10 16:22 foo $ echo .* . .. Jeśli uruchomię rm -rf .*na...
Nie sądzę, aby powłoka / narzędzia w historycznym Uniksie ani w czymś tak „najnowszym” jak 4.4BSD obsługiwane przy użyciu podwójnego myślnika (lub dwóch kolejnych łączników) jako ogranicznika końca opcji . Z FreeBSD , można zobaczyć na przykład notatki wprowadzone w rm manpages z 2.2.1 wydaniu...
Celem tego pytania jest odpowiedź na ciekawość, a nie rozwiązanie konkretnego problemu komputerowego. Pytanie brzmi: dlaczego obowiązkowe narzędzia POSIX nie są często wbudowane w implementacje powłoki? Na przykład mam skrypt, który w zasadzie czyta kilka małych plików tekstowych i sprawdza, czy...
Widzę, że mogę $ [ -w /home/durrantm ] && echo "writable" writable lub $ test -w /home/durrantm && echo "writable" writable lub $ [[ -w /home/durrantm ]] && echo "writable" writable Lubię używać trzeciej składni. Czy są one równoważne pod każdym względem i dla...
Jaki jest powód używania takich nienazwanych nazw wywołań systemowych, takich jak timei creatzamiast getCurrentTimeSecsi createFilelub, a może bardziej odpowiednich w systemach Unix get_current_time_secsi create_file. Co prowadzi mnie do następnej kwestii: dlaczego ktoś miałby chcieć czegoś takiego...
Zauważyłem, że niektóre aplikacje umieszczają swoje pliki konfiguracyjne, ~/.config/appnamepodczas gdy inne używają ~/.appname(klasyczny sposób, AFAIK) do tego. Jaki jest sens tego rozróżnienia i co może być lepszym do rozważenia dla mojego zastosowania? AKTUALIZACJA: Wygląda na to, że mój...
Zastanawiam się, czy istnieje ogólny sposób przekazywania wielu opcji do pliku wykonywalnego za pomocą linii shebang ( #!). Używam NixOS, a pierwsza część shebang w każdym skrypcie, który piszę, jest zwykle /usr/bin/env. Problem, z którym się wtedy spotykam, polega na tym, że wszystko, co...
Czy jest jakiś shkod, który nie jest poprawnym składniowo kodem bashowym (nie zapisuje kodu przy składni)? Mam na myśli nadpisanie shz bashpewnych
Moja firma odsprzedaje aplikację, której nazwa firmowa ma różne litery, na przykład „ApplicationName”. Instalator aplikacji tworzy wszystkie ścieżki i nazwy plików w tym standardzie. Np. Głównym katalogiem jest /opt/ApplicationNameplik inicjujący, ApplicationNamewięc muszę go uruchomić service...
Powiedzmy, że mam taki skrypt powłoki POSIX musi działać na różnych systemach / środowiskach, których nie kontroluję, oraz musi usunąć separator dziesiętny z ciągu emitowanego przez program, który przestrzega ustawień regionalnych. Jak mogę wykryć separator dziesiętny w najbardziej ogólny...
Wiele osób korzysta z onelinerów i skryptów zawierających kod wzdłuż linii cat "$MYFILE" | command1 | command2 > "$OUTPUT" Pierwszy catjest często nazywany „bezużytecznym użyciem kota”, ponieważ technicznie wymaga on rozpoczęcia nowego procesu (często /usr/bin/cat), w którym można by tego...
Jeśli powłoka zostanie poproszona o wykonanie prawdopodobnie bezużytecznej ( lub częściowo bezużytecznej ) komendy, o której wiadomo, że kończy działanie, na przykład cat hugeregularfile.txt > /dev/null, czy może pominąć wykonanie tej komendy ( lub wykonać tańszy odpowiednik, powiedzmy, touch -a...