Pytania otagowane jako shell-script

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

4
Bash: interaktywny zdalny monit
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 …
16 bash  shell-script  ssh  stdin  read 

3
Zakończenie skryptu powłoki bash działającego w tle
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 …


4
Solidne budowanie ścieżek
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 …


2
Jakiego polecenia idempotent mogę użyć, aby utworzyć dowiązanie symboliczne wskazujące katalog?
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 …

1
Czy powłoka interaktywna może stać się nieinteraktywna lub odwrotnie?
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”, …


1
czekaj wbudowane bash pali procesor na 100 procentach
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 …


3
błąd skryptu bash stty: standardowe wejście: niewłaściwy ioctl dla urządzenia
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: …

1
Wykonywanie skryptu w Zsh - uprawnienia do plików
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 …

4
Przetwarzanie zmiennej bash z sed
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

4
Pętla przez zmienne
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 …


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.