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ą „|”.
Czy można to zrobić tak, aby programy próbujące wykonywać seek()operacje na nazwanym potoku powróciły pomyślnie (ale działały tak, jakby potok był pustym plikiem) zamiast „Nielegalne wyszukiwanie”? Mam ostatnie logowanie do mojego systemu przechowywane w bazie danych SQLite, nigdzie nie mam plików. Jednak istnieje kilka programów, które mają z tym problem. …
Próbowałem następującego polecenia po obejrzeniu tego filmu na shenanigans. man -k . | dmenu -l 20 | awk '{print $1}' | xargs -r man -Tpdf | zathura - Zasadniczo drukuje listę stron podręcznych do dmenu, aby użytkownik mógł wybrać jedną z nich, a następnie używa xargs do uruchomienia man -Tpdf …
Według tej odpowiedzi przez Schily , lessodczytuje polecenia nawigacyjne ze standardowego wyjścia błędów, jeśli nie jest w stanie otworzyć /dev/tty. To wydaje się zagadkowe, ponieważ nigdy nie widziałem, aby cokolwiek zapisywało w strumieniu stderr innego programu, i nie wiem, jak bym to osiągnął. W jakim celu stderr jest otwarty na …
Załóżmy, że masz potok podobny do następującego: $ a | b Jeśli bprzestanie przetwarzać standardowe wejście, po pewnym czasie rura się azapełni i zacznie pisać, aż do brozpoczęcia standardowego , zostanie zablokowane (dopóki albo nie zacznie ponownie przetwarzać, albo umrze). Gdybym chciał tego uniknąć, mogłem pokusić się o użycie większej …
Chodzi o to, aby użyć go jako ... potoku w poleceniu. Na przykład: powiedzmy, że istnieje jakaś długa ścieżka, którą trzeba wielokrotnie powtarzać, a następnie potok i drugi program, tj. "directory1/directory2/direcotry3/file.dat | less -I " Chciałbym, aby ta część była przechowywana w zmiennej, aby można ją było użyć w następujący …
Próbuję wysłać polecenia do portu TCP przy użyciu polecenia netcati odpowiedzi potoku podczas uruchamiania netcati wpisywania polecenia, drukuje odpowiedź poprawnie, ale gdy przekazuję polecenie z potoku, wysyła polecenie poprawnie, ale nie drukuje odpowiedzi Działa to poprawnie: netcat localhost 9009 podczas gdy to po prostu wysyła polecenie, ale nie drukuje odpowiedzi: …
Jest to prawdopodobnie łatwe, ale nie mogę tego rozgryźć i praktycznie nie można go przeszukiwać. W hierarchii folderów mam dokładnie jeden plik typu xyz. Chcę znaleźć ten plik i otworzyć go za pomocą polecenia terminalu. find . -name *.xyz Spowoduje to zwrócenie szukanego pliku. Jak teraz otworzyć to automatycznie, bez …
Próbuję połączyć kilka takich programów (proszę zignorować wszelkie dodatkowe dołączenia, jest to ciężka praca w toku): pv -q -l -L 1 < input.csv | ./repeat <(nc "host" 1234) Gdzie źródło programu powtarzającego wygląda następująco: #include <fcntl.h> #include <stdint.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <sys/epoll.h> #include <sys/stat.h> #include <sys/types.h> …
Załóżmy, że mam następującą potok: a | b | c | d Jak mogę czekać na zakończenie c(lub b) w shlub bash? Oznacza to, że skrypt dmoże się uruchomić w dowolnym momencie (i nie trzeba na niego czekać), ale cdo prawidłowego działania wymaga pełnego wyjścia . Sprawa stosowanie jest difftooldla …
Próbuję napisać prostą funkcję bash, która jako argumenty przyjmuje wiele plików i / lub katalogów. Powinno: W pełni kwalifikuj nazwy plików. Sortuj je. Usuń duplikaty. Wydrukuj wszystko, co faktycznie istnieje. Zwraca liczbę nieistniejących plików. Mam skrypt, który prawie robi to, co chcę, ale spada na sortowanie. Zwracana wartość skryptu w …
Przesyłam dane wyjściowe z jednego programu do napisanego przeze mnie Perla. To długotrwały proces, czasem dni, więc chcę dowiedzieć się, gdzie są moje wąskie gardła i spróbować je otworzyć. Chcę wiedzieć, czy dane są przesyłane do mojego skryptu szybciej niż mój skrypt może to przetworzyć. W takim przypadku postaram się …
W przypadku niektórych poleceń można podać określone dane wejściowe jako argument stdin lub wiersz poleceń. W szczególności załóżmy, że commandmożemy przyjąć wejście standardowe i nazwę pliku jako argument wiersza poleceń, i command < myfile, cat myfile | command i command myfilemoże dać ten sam wynik. Na przykład, Gdy polecenie brzmi …
Informacja o systemie: macOS Sierra 10.12.6 zsh 5.4.2 (x86_64-apple-darwin16.7.0) GNU bash, version 4.4.12(1)-release (x86_64-apple-darwin16.3.0) Przewiń do PRZYKŁADÓW u dołu, jeśli chcesz po prostu zagłębić się w uproszczone przykłady, które stworzyłem. UWAGA: Nie jestem dużym zshużytkownikiem. Szukałem na fzfskróty klawiszowe dla bashi zsh. Zwróć uwagę, jak oba uruchamiają zmienne polecenie $(__fzfcmd). …
Jeśli bashwykonam: cmd1 | cmd2 | ... | cmdi | ... | cmdn & gdzie cmd{1..n}mogą nie być wyraźne, w jaki sposób uzyskać PID cmdi? Alternatywnie, jak mogę zasygnalizować cmdiproces? (Na przykład, wysłać go SIGUSR1?) pkill/ pgrep, pidofItd. Nie wygląda dobrych odpowiedzi, od innych instancji cmdimoże działa, w tym w …
Piszę skrypt bash inotifywaitdo monitorowania katalogu i rozpoczynania akcji po wykryciu zmian. Coś jak: inotifywait -m ... | while read f; do something; done Ponieważ inotifywaitskrypt nie zakończy się sam, skrypt nie zostanie zatrzymany. Tak więc moim planem było uzyskanie PID procesu inotifywait, zapisanie go do pliku i inny proces …
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.