Mam jedno szybkie pytanie. Czy to normalne, że bash (używam 4.4.11) nie wyświetla linii / tekstu oddzielonego / zakończonego zwykłym \r? Byłem trochę zaskoczony tym zachowaniem: $ a=$(printf "hello\ragain\rgeorge\r\n") $ echo "$a" george Ale tekst „witaj ponownie” wciąż tam jest, w jakiś sposób „ukryty”: $ echo "$a" |od -w32 -t …
Krótkie wyjaśnienie pytania: Czy istnieje wbudowana metoda bash zliczająca liczbę elementów w tablicy bash, w której nazwa tablicy jest dynamiczna (tj. Przechowywana w zmiennej), bez uciekania się do wykonania pełnej kopii tablicy lub użycia eval? Więcej informacji: Używając podstawiania parametrów bash, można wykonać następujące czynności: Określić długość tablicy: myArr=(A B …
Udało mi się zastrzelić w miejscu, w którym boli (naprawdę źle), zmieniając format partycji zawierającej cenne dane. Oczywiście nie było to zamierzone, ale się stało. Udało mi się jednak wykorzystać testdiski photorecodzyskać większość danych. Więc teraz mam wszystkie te dane rozproszone w prawie 25 000 katalogów. Większość plików to pliki …
Próbuję utworzyć skrypt, aby sprawdzić, czy można zalogować się przez telnet. Nie chcę się naprawdę logować; dlatego oczekiwanie nie jest potrzebne. Chcę tylko sprawdzić, czy mogę uzyskać monit o zalogowanie. Odbywa się to z systemu Linux, więc próbowałem użyć nc: nc 192.168.10.5 23 -w 1 | grep -q login if …
Mam (jeszcze) inną wait, &, &&pytanie przepływu sterowania .. Powiedzmy, że mam skrypt taki jak ten, w którym chcę wykonać jak najwięcej pracy w tym samym czasie: # may take some hours something InputA > IrrelevantA & something InputB > IrrelevantB & # may take an hour ( somethingElse InputA …
Chcę zastąpić bieżący skrypt, aby móc wydrukować pomoc i informacje o wersji z sekcji komentarzy u góry. Myślałem o czymś takim: grep '^#h ' -- "$0" | sed -e 's/#h //' Ale potem zastanawiałem się, co by się stało, gdyby skrypt został umieszczony w katalogu, który był w PATH i …
Czy jest to możliwe, czy jest jakiś elegancki hack, aby dokonać pośredniej rozbudowy zmiennych w POSIX, jak można to zrobić w Bash? W kontekście próbuję wykonać następujące czynności: for key in ${!map_*} do # do something done EDYCJA: Aby to wyjaśnić, chciałbym uzyskać dostęp do zmiennych powłoki, które zaczynają się …
Widziałem sztuczkę polegającą na implementacji tablic asocjacyjnych w skrypcie powłoki. Na przykład print array["apples"]może być skryptowany jako echo \$array$keygdzie klucz = jabłka. Nie wspomniano jednak o tym, jak wygenerować klucze do iteracji po tablicy. Jedynym sposobem, w jaki mogłem wymyślić, było przechowywanie kluczy w zmiennej ograniczonej spacjami, aby móc użyć …
W skrypcie bash przypisuję zmienną lokalną, aby wartość zależała od zewnętrznej, globalnej zmiennej środowiskowej ( $MYAPP_ENV). if [ "$MYAPP_ENV" == "PROD" ] then SERVER_LOGIN=foobar123@prod.example.com else SERVER_LOGIN=foobar987@test.example.com fi Czy istnieje krótszy (ale czysty) sposób na napisanie powyższego zadania? (Prawdopodobnie używa pewnego rodzaju operatora warunkowego / inline if.)
Chcę zaimplementować skrypt na moim serwerze, który będzie automatycznie wysyłać powiadomienia e-mail, jeśli użycie dysku wzrośnie powyżej 90%, a drugie powiadomienie e-mail, gdy przekroczy 95%. Mój system plików jest, abc:/xyz/abca punktem podłączenia jest /pqr. Próbowałem tego: ADMIN="someone@def.com" ALERT=90 df -H | grep -vE 'abc:/xyz/pqr | tmpfs |cdrom' | awk '{ …
Pracuję nad skryptem bash, który chciałbym pracować dla kilku typów VCS. Zastanawiam się nad przetestowaniem, czy katalog jest repozytorium dla systemu, uruchamiając typowe polecenie info i sprawdzając kod powrotu, sukces lub błąd. W pseudokodzie: if a svn command succeded; Then run svn commands elif a darcs command succeded; Then run …
Podczas uruchamiania skryptów instalacyjnych, na które się skarżyły, napotkałem pewne problemy bad interpreter. Zrobiłem więc trywialny przykład, ale nie mogę zrozumieć, na czym polega problem, patrz poniżej. #!/usr/bin/env bash echo "hello" Wykonanie powyższego skryptu powoduje następujący błąd [root@ech-10-24-130-154 dc-user]# ./junk.sh bash: ./junk.sh: /usr/bin/env: bad interpreter: No such file or directory …
first.sh: #! /bin/ksh echo "prova" . ./second.sh echo "ho lanciato il secondo" . ./third.sh echo "ho lanciato il terzo" second.sh: echo "sono nel secondo script" dosomething1 exit $? Jeśli second.shwykryje błąd i wyjdzie ze statusem -9, first.shkończy zawsze. Jak mogę uniknąć wychodzenia z pierwszej powłoki, jeśli powłoka potomna zostanie zamknięta? …
Napisałem skrypt powłoki do testowania interfejsu API, który kopiuje pliki i po każdym powtarza jego postęp. Pomiędzy każdą kopią jest dwusekundowy sen, dlatego chciałbym dodać możliwość naciśnięcia dowolnego klawisza, aby wstrzymać skrypt i umożliwić głębsze testowanie. Następnie naciśnij dowolny klawisz, aby wznowić. Jak mogę to dodać w jak najmniejszej liczbie …
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.