Potok Unix łączy deskryptory plików dwóch procesów. Potok jest tworzony za pomocą funkcji potoku POSIX zadeklarowanej w <unistd.h>. Powłoki umożliwiają tworzenie potoków między procesami za pomocą „|”.
Chcę napisać następującą funkcję bash w taki sposób, aby mogła zaakceptować dane wejściowe z argumentu lub potoku: b64decode() { echo "$1" | base64 --decode; echo } Pożądane użycie: $ b64decode "QWxhZGRpbjpvcGVuIHNlc2FtZQ=" $ b64decode < file.txt $ b64decode <<< "QWxhZGRpbjpvcGVuIHNlc2FtZQ=" $ echo "QWxhZGRpbjpvcGVuIHNlc2FtZQ=" | b64decode
Użycie jednego z nich daje czytelny tekst. Ale tylko z przekierowaniem stderr można przewijać lub pisać / somepattern i uzyskiwać dopasowania. Bez tego wyszukiwanie daje „Nic do wyszukiwania (naciśnij RETURN)” i kolumnę ~. Biorąc pod uwagę, że stderr i stdout nie są takie same, ale dlaczego mniej pokazuje im to …
Ogólny problem Chcę napisać skrypt, który wchodzi w interakcję z użytkownikiem, nawet jeśli jest on w środku łańcucha potoków. Konkretny przykład Konkretnie, zajmuje to filelub stdinwyświetla linie (z numerami linii), prosi użytkownika o wprowadzenie wyboru lub numerów linii, a następnie drukuje odpowiednie linie do stdout. Nazwijmy ten skrypt selector. Więc …
Na przykład dostałem z jakiegoś polecenia kilka wierszy $ some-command John Bob Lucy Teraz chciałbym dodać polecenie łańcuchowe, które modyfikuje dane wyjściowe. $ some-command | other-command Hi John Bye Hi Bob Bye Hi Lucy Bye Jak pisać other-command? (Jestem nowicjuszem w bash)
Mam trzy rodzaje danych, które są w różnych formatach; dla każdego typu danych istnieje skrypt w języku Python, który przekształca go w pojedynczy zunifikowany format. Ten skrypt w języku Python jest powolny i związany z procesorem (z jednym rdzeniem na komputerze wielordzeniowym), dlatego chcę uruchomić trzy jego wystąpienia - po …
Powiedz, że mam następujący skrypt: #!/bin/bash for i in $(seq 1000) do cp /etc/passwd tmp cat tmp | head -1 | head -1 | head -1 > tmp #this is the key line cat tmp done W kluczowym wierszu czytam i piszę ten sam plik, tmpktóry czasem się nie udaje. …
Zamknięte . To pytanie wymaga szczegółów lub jasności . Obecnie nie przyjmuje odpowiedzi. Chcesz poprawić to pytanie? Dodaj szczegóły i wyjaśnij problem, edytując ten post . Zamknięte 2 lata temu . ze względu na sposób, w jaki mój host robi rzeczy, muszę korzystać z systemu usług. Ta usługa ma uruchamiany …
Załóżmy, że mam plik o confirmation.shnastępującej treści: #!/bin/bash echo -n "Are you sure [Y/n]? " read line case "$line" in n|N) echo "smth" ;; y|Y) echo "smth" ;; esac i chcę uruchomić ten skrypt w następujący sposób: cat confirmation.sh | sh Rozumiem, Are you sure [Y/n]?a skrypt został przerwany. Jaki …
yes "test" | grep -m3 "test" odbitki test test test a następnie kończy się. Tak też jest yes "test" | while read line; do echo $line; done | grep -m3 "test" i yes "test" | while read line; do echo $line; done | grep -E "*" | grep -m3 "test" …
Chciałbym skonfigurować zadanie crona do okresowego rejestrowania pomiaru. Pamięć USB jest zainstalowana w routerze: user@router:/tmp/home/root# uname -a Router Linux 2.6.36.4brcmarm # 2 SMP PREEMPT Sun Mar 20 16:06:18 EDT 2016 armv7l GNU / Linux user@router:/tmp/home/root# curl http://THERMOSTAT/tstat/humidity >> /tmp/mnt/USBstick/CT80_data/C14HumidityData.txt % Total % Received % Xferd Average Speed Time Time Time …
Postanowiłem dać Zsh szansę na przeciw Bashowi i natknąłem się na jakieś nieprzyzwoite zachowanie, o którym nie mogłem znaleźć niczego w sieci: Jeśli wykonasz a ls | grep foow Bash, lstylko jeden plik w wierszu, więc wyświetla greptylko pasujące pliki. Wydaje się, że gdzieś (a ponieważ nie mogłem znaleźć niczego …
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.