Korzystam z poniższego skryptu, aby przejść dwa dni wstecz, gdy skrypt uruchamia się o dwa dni w roku, a także sprawdzam pierwszy i drugi dzień każdego miesiąca i cofam się o dwa dni wstecz. if [$month="01"] && [$day="01"]; then date="$last_month/$yes_day/$last_year" fulldate="$last_month/$yes_day/$last_year" else if [$month="01"] && [$day="02"]; then date="$last_month/$yes_day/$last_year" fulldate="$last_month/$yes_day/$last_year" else …
Głównym sposobem, w jaki znam debugowanie skryptów, jest dodanie -xdo shabang ( #!/bin/bash -x). Ostatnio natknąłem się na nowy sposób, dodając set -euxo pipefailtuż pod shabangiem, jak w: #!/bin/bash set -euxo pipefail Jaka jest główna różnica między dwoma sposobami debugowania? Czy są chwile, kiedy wolisz jeden od drugiego? Jako student …
Wystąpił problem podczas próby napisania skryptu Bash. Kiedy grepwyświetla, zwraca (zwykle) wiele wierszy. Chciałbym przedrostek i przyrostek do każdego z tych wierszy wyjściowych. Chciałbym również zauważyć, że jestem potokiem lssię grep, jak: ls | grep
Mam skrypt, który wymaga katalogu jako jednego argumentu. Chcę wesprzeć dwie formy: jedna jest jak a/b/c (bez slash na końcu), a inny jest jak a/b/c/ (ma slash na końcu). Moje pytanie: biorąc pod uwagę którąkolwiek z dwóch form, jak mogę po prostu zachować pierwszą formę bez zmian i usunąć ostatni …
Korzystam ze skryptu bash w terminalu , więc wychodzę z błędu set -o errexit zabija mój terminal, co jest niesamowicie denerwujące, ponieważ muszę zamknąć terminal, otworzyć inny i zresetować niektóre zmienne. Do tej pory za pomocą command || return wiersze w skrypcie robią dokładnie to, co chcę set -o errexit …
W następującym pliku: Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Ut eu metus id lectus vestibulum ultrices. Maecenas rhoncus. Chcę usunąć wszystko przed, consectetuera potem wszystko elit. Moje pożądane wyjście: consectetuer adipiscing elit. W jaki sposób mogę to zrobić?
Chcę wyświetlić listę wszystkich katalogów użytkowników na komputerze. Zazwyczaj zrobię: ls -l /home Ale używam go w skrypcie, który zostanie wdrożony na innych komputerach i być może na tych komputerach nie nazywają go domem (np. MyHome). Więc chcę to uogólnić ls -l ~. Ale po prostu wyświetla listę katalogów domowych …
Czy istnieje sposób na dynamiczne wybranie interpretera wykonującego skrypt? Mam skrypt, który uruchamiam na dwóch różnych systemach, a tłumacz, którego chcę użyć, znajduje się w różnych lokalizacjach na dwóch systemach. Ostatecznie muszę zmienić linię hashbang za każdym razem, gdy się przełączam. Chciałbym zrobić coś, co jest logicznym odpowiednikiem tego (zdaję …
Obecnie używamy tego polecenia w skrypcie powłoki, aby usunąć ciszę z plików audio: ffmpeg -i $INFILE -af silenceremove=0:0:0:-1:1:${NOISE_TOLERANCE}dB -ac 1 $SILENCED_FILE -y Działa to dobrze, ale usuwa całą ciszę, powodując ściśnięcie pozostałego dźwięku. Jak można to zrobić, pozostawiając dwie lub trzy sekundy między poszczególnymi utworami? Rozwiązanie musi być bardzo wydajne, …
Rozumiem, jak działa normalna bomba z widelcem, ale tak naprawdę nie rozumiem, dlaczego wymagana jest bomba z widelcem typu bash na końcu i dlaczego te skrypty zachowują się inaczej: :(){ (:) | (:) }; : i :(){ : | :& }; : Ten pierwszy powoduje skok zużycia procesora przed wrzuceniem …
Codziennie generuję około 200 GB danych dziennika, rozmieszczonych w około 150 różnych plikach dziennika. Mam skrypt, który przenosi pliki do tymczasowej lokalizacji i wykonuje tar-bz2 w katalogu tymczasowym. Otrzymuję dobre wyniki, ponieważ dzienniki 200 GB są skompresowane do około 12-15 GB. Problem polega na tym, że kompresja plików trwa wieczność. …
Ostatnio mam dziwne problemy z bash. Próbując uprościć mój skrypt, wymyśliłem ten mały fragment kodu: $ o(){ echo | while read -r; do return 0; done; echo $?;}; o 0 $ o(){ echo | while read -r; do return 1; done; echo $?;}; o 1 returnpowinien był wyjść z funkcji …
Używam Solaris 10, więc opcje grep obejmujące -f nie działają. Mam dwa pliki oddzielone potokami: plik1: abc|123|BNY|apple| cab|234|cyx|orange| def|kumar|pki|bird| plik 2: abc|123| kumar|pki| cab|234 Chciałbym porównać dwie pierwsze kolumny pliku 2 z plikiem 1 (przeszukaj całą zawartość pliku 1 w pierwszych dwóch kolumnach), jeśli pasują, wydrukuj dopasowaną linię pliku 1. …
Chcę umieścić ssh-add /path/to/special_keyna górze skryptu. Działa to dobrze, ale zawsze monituje o podanie hasła. Jest to dziwne i trochę denerwujące, ponieważ wciąż prosi o hasło, nawet jeśli ssh-add -lpokazuje, że klucz został już dodany. Czy istnieje sposób, aby to powiedzieć: „dodaj ten klucz i zapytaj hasło, jeśli jeszcze nie …
Chciałbym zaimplementować funkcję w Bash, która zwiększa (i zwraca) liczbę przy każdym wywołaniu. Niestety wydaje się to nietrywialne, ponieważ wywołuję funkcję wewnątrz podpowłoki, w związku z czym nie może ona modyfikować zmiennych powłoki nadrzędnej. Oto moja próba: PS_COUNT=0 ps_count_inc() { let PS_COUNT=PS_COUNT+1 echo $PS_COUNT } ps_count_reset() { let PS_COUNT=0 } …
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.