W tej chwili pracuję nad większym skryptem Bash (jest to mój projekt Open Source) i zaczyna się robić bałagan. Podzieliłem logikę na funkcje, używam zmiennych lokalnych, gdzie mogę i zadeklarowałem tylko garść zmiennych globalnych. Mimo to utrzymanie go jest dość trudne. Pomyślałem o podzieleniu skryptu na wiele skryptów i umieszczenie …
Kontynuacja części podstawowej tego pytania . W bashmogę użyć ${!FOO}do podwójnej zamiany, w zsh ${(P)FOO}. W obu działa stara szkoła (hack-y) eval \$$FOO. Najmądrzejszą i najbardziej logiczną rzeczą byłoby dla mnie ${${FOO}}, ${${${FOO}}}…zastąpienie podwójnym / potrójnym / n. Dlaczego to nie działa zgodnie z oczekiwaniami? Po drugie: co robi \w …
Piszę skrypt, który chcę uruchomić bez uprawnień. Chcę, aby błędy napotkane przez skrypt były rejestrowane w pliku dziennika. Nie mam uprawnień, aby napisać do jednego /var/log. I nie chcę mieć takiego w moim katalogu domowym. Czy jest miejsce, w którym skrypty przestrzeni użytkownika mogą rejestrować informacje o środowisku wykonawczym? Jaka …
Pracuję z urządzeniem RS-232 przez GNU screen. $ screen /dev/ttyUSB0 115200 W pewnym momencie muszę wysłać plik lokalny do urządzenia za pomocą protokołu xmodemlub kermit. W systemie Windows używam TeraTerm, który ma odpowiedni element menu. Jak mogę to osiągnąć na ekranie GNU?
Czy istnieje sposób na logiczne połączenie dwóch poleceń powłoki, które są wywoływane przez find - exec ? Na przykład, aby wydrukować wszystkie pliki .csv , które zawierają ciąg foo wraz z jego wystąpieniem, chciałbym zrobić: find . -iname \*.csv -exec grep foo {} && echo {} \; ale bash narzeka …
Używam bashpowłoki. Często używam, nohupaby upewnić się, że moje procesy nie zostaną zatrzymane po zamknięciu powłoki / terminala, który je uruchomił. Używam składni, takiej jak: nohup myprocess Podczas uruchamiania nohupwyświetla komunikat: nohup: ignoring input and appending output to 'nohup.out' Wtedy nohupnie daje już więcej obrazu na ekranie; wszystko jest napisane …
Mam plik wejściowy rozdzielany przecinkami ( ,). Niektóre pola są ujęte w podwójny cudzysłów i zawierają przecinek. Oto przykładowy wiersz 123,"ABC, DEV 23",345,534.202,NAME Muszę również usunąć wszystkie przecinki występujące wewnątrz podwójnych cudzysłowów i podwójnych cudzysłowów. Tak więc powyższa linia powinna zostać przeanalizowana, jak pokazano poniżej 123,ABC DEV 23,345,534.202,NAME Próbowałem następujących …
W swoim .tmux.confpliku możesz ustawić historię okna za pomocą: set -g history-limit 4096 Czy istnieje sposób na ustawienie nieograniczonej historii dla każdego okna?
Czy jest jakaś zmienna, którą cron ustawia podczas uruchamiania programu? Jeśli skrypt jest uruchamiany przez crona, chciałbym pominąć niektóre części; w przeciwnym razie przywołaj te części. Skąd mam wiedzieć, czy skrypt Bash jest uruchamiany przez crona?
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 5 lat temu . Jaka jest różnica między ifconfig a ipconfig? Co właściwie robią dhcpcd i ifconfig?
Właśnie otworzyłem starszy skrypt powłoki (napisany w starym ksh88 na Solarisie) i znalazłem następujące powtórzenia w całym kodzie: [ -f $myfile ] && \rm -f $myfile Uciekający ukośnik wydaje mi się dziwny. Wiem, że jest to celowe, ponieważ tego rodzaju (pozornie bezużyteczne) ucieczki powtarzają się w całym kodzie. Pierwotnego autora …
Skąd mam wiedzieć, czy jest to lokalny dysk twardy lub klucz USB? Wolę sposób na zrobienie tego bez uprawnień roota./dev/sdX OK, bardzo udevadmpomogłem: W przypadku lokalnego dysku twardego: udevadm info --query=all --name=sdb | grep ID_BUS E: ID_BUS=ata W przypadku klucza USB: udevadm info --query=all --name=sdc | grep ID_BUS E: ID_BUS=usb
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.