Pytania otagowane jako io-redirection

Przekierowanie we / wy jest używane w skryptach powłoki. Ta funkcja umożliwia pobranie danych wyjściowych polecenia i przekierowanie ich jako danych wejściowych dla innego polecenia, lub polecenie może pobrać dane wejściowe z pliku zamiast ze standardowego strumienia wejściowego lub z terminala. Cały proces pomaga łączyć strumienie danych na różne sposoby.

2
Jak przechwycić zamówiony STDOUT / STDERR i dodać znacznik czasu / prefiksy?
Zbadałem prawie wszystkie dostępne podobne pytania , ale bezskutecznie. Pozwól mi szczegółowo opisać problem: Uruchamiam niektóre skrypty nienadzorowane, które mogą generować standardowe dane wyjściowe i standardowe linie błędów, chcę uchwycić je w dokładnej kolejności wyświetlanej przez emulator terminala, a następnie dodać do nich przedrostek „STDERR:” i „STDOUT:”. Próbowałem na nich …



3
Rurociągi STDERR vs. STDOUT
Zgodnie z „ Linux: The Complete Reference 6th Edition ” (str. 44), możesz przesyłać tylko STDERR za pomocą |&symboli przekierowania. Napisałem dość prosty skrypt, aby to przetestować: #!/bin/bash echo "Normal Text." echo "Error Text." >&2 Uruchamiam ten skrypt w następujący sposób: ./script.sh |& sed 's:^:\t:' Przypuszczalnie tylko wcięte zostaną linie …






1
Zawsze przekierowuj błąd do / dev / null
Wiem, że mogę przekierować komunikaty o błędach z polecenia /dev/nullna następującą składnię: command arg1 arg2 2>/dev/null Ale czy istnieje sposób, aby to zrobić domyślnie, aby komunikaty o błędach zawsze trafiały /dev/null, chyba że zaznaczę inaczej?

7
Przypadkowo użyłem przekierowania wyjściowego> zamiast potoku |
Miesiąc temu napisałem skrypt Pythona do mapowania adresów MAC i IP ze standardowego wejścia. Dwa dni temu zapamiętałem to i użyłem do filtrowania wyników, tcpdumpale poszło nie tak z powodu literówki. Wpisałem tcpdump -ne > ./mac_ip.py a wynik jest niczym. Ale dane wyjściowe powinny być „Nieznane”, jeśli nie można przeanalizować …

6
Czy istnieje inny prosty sposób dołączenia wiersza na końcu pliku niż `>>`?
Ostatnio powtarzam krótkie zdania do tree_holepliku. Korzystałem echo 'something' >> tree_holez tej pracy. Ale zawsze martwiłem się tym, co jeśli wprowadzę w błąd >zamiast >>, ponieważ robiłem to często. Więc stworzyłem własny bashrc w bashrc: function th { echo "$1" >> /Users/zen1/zen/pythonstudy/tree_hole; } export -f th Ale zastanawiam się, czy …

2
Kiedy powinienem używać przekierowania wejściowego?
Użyłem następujących dwóch poleceń, aby uzyskać te same wyniki: [root@localhost ~]# grep line comments The line should start with a single quote to comment in VB scripting. Double slashes in the beginning of the line for single line comment in C. [root@localhost ~]# [root@localhost ~]# grep line <comments The line …

6
xargs z przekierowaniem stdin / stdout
Chciałbym uruchomić: ./a.out < x.dat > x.ans dla każdego * .dat pliku w katalogu A . Jasne, można to zrobić za pomocą skryptu bash / python / cokolwiek, ale lubię pisać seksowne, jedno-liniowe. Wszystko, co mogłem osiągnąć to (wciąż bez żadnego standardowego): ls A/*.dat | xargs -I file -a file …

2
Dlaczego zachowanie `polecenia 1> plik.txt 2> plik.txt` różni się od` polecenia 1> plik.txt 2> i 1`?
Jeśli chcesz przekierować stdout i stderr do tego samego pliku, możesz to zrobić za pomocą command 1>file.txt 2>&1, lub command &>file.txt. Ale dlaczego zachowanie command 1>file.txt 2>file.txtróżni się od powyższych dwóch poleceń? Poniżej znajduje się polecenie weryfikacji. $ cat redirect.sh #!/bin/bash { echo -e "output\noutput" && echo -e "error" 1>&2; …

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.