Pytania otagowane jako shell-script

Pytania dotyczące skryptów powłoki, plików wykonywalnych interpretowanych przez powłokę (bash, zsh itp.).

3
Zapobiegaj automatycznym EOF do nazwanego potoku i wysyłaj EOF, kiedy chcę
Mam program, który kończy działanie automatycznie po odczytaniu EOF w danym strumieniu (w następującym przypadku stdin). Teraz chcę utworzyć skrypt powłoki, który tworzy nazwaną potok i podłącza do niego standardowe wejście programu. Następnie skrypt zapisuje do potoku kilka razy przy użyciu echoi cat(oraz innych narzędzi, które automatycznie generują EOF po …


4
Czy można zmodyfikować plik yml za pomocą skryptu powłoki?
Tak wygląda mój docker-compose.yml. nginx: container_name: 'nginx' image: 'nginx:1.11' restart: 'always' ports: - '80:80' - '443:443' volumes: - '/opt/nginx/conf.d:/etc/nginx/conf.d:ro' links: - 'anything' Teraz muszę dodać trochę treści za pomocą skryptu powłoki (na serwerze Ubuntu). Nie jestem do końca pewien, czy jest to w ogóle możliwe: Dodaj nowy element nginx/links, jeśli …

3
Jak ustawić skrypt, który będzie wykonywany, gdy port odbierze komunikat
Zastanawiam się, jak zdobyć skrypt powłoki, aby nasłuchiwał na określonym porcie (może używając netcata?). Mamy nadzieję, że gdy wiadomość zostanie wysłana do tego portu, skrypt nagrywa wiadomość, a następnie uruchamia funkcję. Przykład: Komputer 1 ma skrypt działający w tle, skrypt otworzył port 1234 dla ruchu przychodzącego Komputer 2 wysyła komunikat …

2
Oficjalny standard / konwencja dla rozszerzenia pliku dla skryptów powłoki do źródła
Zastanawiałem się, czy istnieje konwencja dla rozszerzeń typów plików dla skryptów powłoki, które chcesz pobierać zamiast uruchamiać. Na przykład: Jeśli chcę uruchomić ten skrypt w podpowłoce. ./script.sh Jeśli chcę pamiętać, aby uruchomić ten skrypt z bieżącej powłoki. . script.source Czy istnieje konwencja (na przykład POSIX) dla typu pliku w drugim …


2
Przetestuj obsługę macierzy według powłoki
Czy istnieje zwięzły sposób testowania obsługi tablicy przez lokalną powłokę podobną do Bourne'a w wierszu poleceń? Jest to zawsze możliwe: $ arr=(0 1 2 3);if [ "${arr[2]}" != 2 ];then echo "No array support";fi lub testowanie $SHELLi wersja powłoki: $ eval $(echo "$SHELL --version") | grep version a następnie czytanie …


2
Jak mogę sprawdzić, czy rsync wprowadził jakieś zmiany w bash?
Mam skrypt, który używa rsync do synchronizacji danych w zdalnym -> scenariuszu lokalnym. Natychmiast po uruchomieniu komendy rsync sprawdź, czy kod błędu jest równy zero, czy nie. Jeśli jest zero, wykonywane są dalsze polecenia. Nie bierze to jednak pod uwagę faktu, że rsync mógł działać poprawnie, ale nie wprowadził żadnych …

5
Znajdź pliki nowsze niż jeden dzień i skopiuj
Pracuję nad skryptem, który skopiuje TYLKO pliki, które zostały utworzone w ciągu ostatniego dnia wolnego do innego folderu. Problemem jest skrypt, który mam kopiuje wszystkie pliki w katalogu źródłowym, a nie tylko pliki starsze niż jeden dzień. Oto co mam: find . -mtime -1 -exec cp --preserve --parents -a "{}" …



2
Uruchom polecenia równolegle i poczekaj, aż jedna grupa poleceń zakończy działanie, zanim zaczniesz następną
Mam skrypt zawierający wiele poleceń. Jak grupować polecenia, aby działały razem (chcę utworzyć kilka grup poleceń. W obrębie każdej grupy polecenia powinny być uruchamiane równolegle (jednocześnie). Grupy powinny działać sekwencyjnie, czekając na zakończenie jednej grupy przed rozpoczęciem następna grupa) ... tj #!/bin/bash command #1 command #2 command #3 command #4 …

3
Wyjdź z funkcji bash, a nie z terminala
Mam skrypt bash, jak poniżej, który instaluje Zookeeper, ale tylko jeśli nie jest już zainstalowany. ##zookeper installZook(){ ZOOK_VERSION="3.4.5" ZOOK_TOOL="zookeeper-${ZOOK_VERSION}" ZOOK_DOWNLOAD_URL="http://www.us.apache.org/dist/zookeeper/${ZOOK_TOOL}/${ZOOK_TOOL}.tar.gz" if [ -e $DEFAULT_INSTALLATION_DEST/${ZOOK_TOOL} ]; then echo "${ZOOK_TOOL} alreay installed"; exit 1; # <<<< here elif [ ! -e $DEFAULT_SOURCE_ROOT/${ZOOK_TOOL}.tar.gz ]; then wgetIt $ZOOK_DOWNLOAD_URL else echo "[info] : $DEFAULT_SOURCE_ROOT/$ZOOK_TOOL already …


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.