Pytania otagowane jako shell-script

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


1
Używanie inotify do monitorowania katalogu, ale nie działa w 100%
Napisałem skrypt bash do monitorowania określonego katalogu /root/secondfolder/: #!/bin/sh while inotifywait -mr -e close_write "/root/secondfolder/" do echo "close_write" done Kiedy tworzę plik o nazwie fourth.txtw /root/secondfolder/i zapisu rzeczy do niej zapisać i zamknąć go, wyprowadza następujące: /root/secondfolder/ CLOSE_WRITE,CLOSE fourth.txt Jednak nie wyświetla echa „close_write”. Dlaczego?

3
Używanie skryptu powłoki jako drukarki wirtualnej
Mam skrypt powłoki, który pobiera plik PDF jako argument i drukuje go z dodatkowymi opcjami specyficznymi dla drukarki. Jak mogę dodać ten skrypt jako drukarkę wirtualną, którą można wybrać z GUI? Skrypt powłoki to ręczny skrypt dupleksowy, który pobiera plik PDF, drukuje parzyste strony, wyświetla polecenie użytkownika za pomocą zenity, …

2
Wyślij kopię wyniku skryptu do pliku
Powiedzmy, że mam skrypt Zsh i chciałbym pozwolić mu wydrukować dane wyjściowe STDOUT, ale także skopiować (zrzucić) dane wyjściowe do pliku na dysku. Ponadto skrypt zaczyna się od następującej opcji set -o xtrace co zmusza go do pełnego mówienia i wypisywania poleceń, które uruchamia. Chciałbym również przechwycić to wyjście w …

2
Komenda Bash w ciągu znaków jest wykonywana podczas tworzenia ciągu, a nie kiedy go później używam
Jestem stosunkowo nowym użytkownikiem skryptów powłoki, ale prawie ukończyłem skrypt, który korzysta z programu lftp . Część skryptu, z którą mam problem, polega na tym, że tworzę długi ciąg poleceń (oddzielonych przez ;). for var in something do ... commands_to_run+="echo Result is `tail -n 1 $somefile`;" done Zauważam, że tailprogram …

2
Buforuj wszystkie hasła podklucza gpg jednocześnie? Zapobiegasz konieczności wielokrotnego wprowadzania hasła gpg?
Czy mogę wprowadzić hasło gpg tylko raz i odblokować wszystkie moje klucze podrzędne (podpisywanie, deszyfrowanie, uwierzytelnianie)? W tej chwili muszę trzy razy wpisać hasło gpg (w celu podpisania, odszyfrowania, uwierzytelnienia). Jest to niewygodne. Próbowałem wymyślić skrypt powłoki. #!/bin/bash set -x set -e set +o history signing_key=77BB3C48 encryption_key=CE998547 tempfile="$(mktemp)" echo "test" …



4
Zwracanie wartości z funkcji bash
Mam funkcję, która zwraca 1, jeśli liczba jest poprawną dziesięciocyfrową liczbą: valNum() { flag=1 if [[ $1 != [1-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9] ]]; then echo "Invalid Number" flag=0 fi return $flag } Jest wywoływany przez: if [[ $(valNum $num) -eq 1 ]]; then #do something fi Funkcja działa poprawnie, jeśli liczba jest poprawna, …

3
Przypisywanie danych wyjściowych zapytania SQL do zmiennej
Łączę się z bazą danych Oracle, odpalam zapytanie i przypisuję dane wyjściowe do zmiennej. Ale kiedy echo wartości zmiennej nie jest drukowane poprawnie. count=`sqlplus -s $configuser/$configpass@$ORACLE_SID <<END set pagesize 0 feedback off verify off heading off echo off; select max(cust_id) from cutomers exit; END` echo $count Zapytanie zwraca poprawny wynik …

5
Jak korzystać z zapytania If-Else na podstawie dnia tygodnia?
Problem: Muszę sprawdzić, czy dzisiaj jest czwartek i wykonać różne działania w zależności od wyniku tego warunku. Próbowałem dwóch różnych podejść: Uzyskiwanie nazwy dnia: DAYOFWEEK=$(date +"%a") echo DAYOFWEEK: $DAYOFWEEK if ["$DAYOFWEEK" == "Thu"]; then echo YES else echo NO fi Uzyskiwanie numeru dnia: DAYOFWEEK=$(date +"%u") echo DAYOFWEEK: $DAYOFWEEK if ["$DAYOFWEEK" …

2
Dobra metoda porównywania czasu?
Muszę sprawdzić aktualny czas i przerwać skrypt, jeśli nie jest to właściwa pora dnia, mam go uruchomić. Ponadto, jeśli ktoś go uruchomi, powinien przerwać. Na przykład: chcę, aby mój skrypt działał tylko wtedy, gdy został uruchomiony między 22:00 a 2:00 (okno 4-godzinne). Obecnie wykonuję następujące czynności. Nie spiesz się date …


3
skrypty powłoki nadal działają bez #! (linia sha-bang)
Jestem nowy w skryptach powłoki i wiele książek napisało, że używają wiersza #! (Sha-bang) na początku skryptu do wywołania interpretera. A to wywoła nową powłokę dla skryptu i wykona interpretację linia po linii. mojego podstawowego skryptu nadal działa bez magicznej linii. więc moje pytania to: skąd mój podstawowy skrypt dostał …


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.