Mam skrypt, który łączy się ze zdalnym serwerem i sprawdzam, czy jakiś pakiet jest zainstalowany: ssh root@server 'bash -s' < myscript.sh myscript.sh: OUT=`rpm -qa | grep ntpdate` if [ "$OUT" != "" ] ; then echo "ntpdate already installed" else yum install $1 fi Ten przykład można uprościć. Oto, myscript2.shktóry …
Często używam bashskryptów powłoki do uruchamiania prostych poleceń dla wielu różnych plików. Na przykład załóżmy, że mam następujący bashskrypt o nazwie script.sh, która uruchamia program / komendę foona trzy pliki tekstowe "a.txt", "b.txt", "c.txt": #!/bin/bash for strname in "a" "b" "c" do foo $strname".txt" done Załóżmy również, że foo $strname".txt"jest …
Chciałem wiedzieć, czy skrypty napisane dla dash, ash i sh są w 100% kompatybilne? Czy są jakieś dodatkowe funkcje myślnika, jesionu lub zmiany składni? Z tego, co słyszałem, popiół jest bezpośrednim potomkiem sh.
Powiedzmy, że mam kilka zmiennych w skrypcie powłoki (np. W Zsh): FOLDER_1, FOLDER_2, etc. Te zmienne odnoszą się do folderów pochodzących z /. Na przykład, jeśli mam ścieżkę/home/me/stuff/items zmienne byłyby następujące: FOLDER_1='home' FOLDER_2='me' FOLDER_3='stuff' Teraz powiedz, że chcę zbudować z powrotem odpowiednią ścieżkę, łącząc zmienne. Jednym z możliwych sposobów jest …
Jak mogę połączyć zmienną powłoki z innymi parametrami w moich wierszach poleceń? Na przykład, #!/bin/sh WEBSITE="danydiop" /usr/bin/mysqldump --opt -u root --ppassword $WEBSITE > $WEBSITE.sql Muszę do łączenia .sqlz$WEBSITE
Chcę wstawić polecenie do skryptu powłoki, który utworzy dowiązanie symboliczne do katalogu, ale ten skrypt może być uruchamiany w kółko, więc przy kolejnych wywołaniach polecenie nie powinno niczego zmieniać. Oto struktura katalogów: % tree /tmp/test_symlink /tmp/test_symlink ├── foo └── repo └── resources └── snippets ├── php.snippets ├── sh.snippets ├── snippets.snippets …
Czy powłoka interaktywna może stać się nieinteraktywna lub odwrotnie? Uwaga: Przeprowadziłem wiele badań dotyczących podstawowego pytania „Jaka jest różnica między interaktywnym a nieinteraktywnym?”, A wyniki moich badań skłoniły mnie do zadania tego pytania. To pytanie ma długą preambułę, ponieważ kluczowe znaczenie ma to, jakiego rodzaju definicji używamy do określenia „interaktywny”, …
Występuje przynajmniej w wersji GNU bash 4.3.42 x86_64 i & GNU bash wersja 4.3.11 x86_64 Używam sleep & wait $!zamiast prostego sleepdo uzyskania przerwania sleepprzez sygnał (jako SIGUSR1 ). Ale wygląda na to, że waitwbudowane bash zachowuje się w dziwny sposób, gdy uruchomisz następujące. Terminal 1: cat <( trap 'echo …
Chcę wyświetlić użycie pamięci, zużycie dysku i obciążenie procesora w następującym formacie: Memory Usage: 33/512MB (6%) Disk usage: 4.2/20GB (23%) CPU Load: 0.01 Jak mogę to zrobić?
Korzystam z dokumentów tutaj w skrypcie bash, aby zautomatyzować instalację i konfigurację, w której hasło jest wymagane wiele razy. Podaję hasło raz, a skrypt przekazuje je do różnych poleceń. W większości przypadków podejście oparte na dokumencie obsługuje tę grzywnę. Jednak w jednym przypadku pojawia się ten błąd: Enter VNC password: …
Jestem zdezorientowany, że uprawnienia do wykonywania plików nie zachowują się zgodnie z oczekiwaniami. Prawdopodobnie dlatego, że moje oczekiwania są błędne. Tak czy siak: Mam plik skryptu, bo dla uproszczenia właśnie się nazywa s, znajduje się w ~/bin. Na potrzeby tego przykładu plik zawiera tylko następujące wiersze: #!/bin/zsh echo "Test"; Bardzo …
zmienna bash LATLNG zawiera wartość szerokości i długości geograficznej w podobnych nawiasach (53.3096,-6.28396) Chcę parsować je do zmiennej o nazwie LAT i LON, którą próbuję wykonać za pomocą sed tak LAT=$(sed "s/(\(.*\),\(.*\))/\1/g" "$LATLNG") LON=$(sed "s/(\(.*\),\(.*\))/\2/g" "$LATLNG") Jednak pojawia się następujący błąd: sed: can't read (53.3096,-6.28396): No such file or directory
Piszę skrypt bash, aby używać rsync i aktualizować pliki na około 20 różnych serwerach. Rozpracowałem część rsync. Mam problem z przeglądaniem listy zmiennych. Mój skrypt do tej pory wygląda następująco: #!/bin/bash SERVER1="192.xxx.xxx.2" SERVER2="192.xxx.xxx.3" SERVER3="192.xxx.xxx.4" SERVER4="192.xxx.xxx.5" SERVER5="192.xxx.xxx.6" SERVER6="192.xxx.xxx.7" for ((i=1; i<7; i++)) do echo [Server IP Address] done Gdzie [Server IP …
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.