Jarosław Szmańda 42 Zgłoś post Napisano Marzec 18, 2016 Cześć, Jak pobrać zmienną i dodać do skryptu który ma się wykonać? Np.: ping domena.pl I po uruchomieniu skryptu chce dostać pytanie o tą domenę aby ją wpisać w pole domena.pl - po zakończeniu i ponownym uruchomieniu to samo. Dzięki! Udostępnij ten post Link to postu Udostępnij na innych stronach
Gość Spoofy Zgłoś post Napisano Marzec 18, 2016 w8 ... do wczytywania "zmiennej" z pliku może służyć np. to zmienna.conf: ZMIENNA="coś" skrypt.sh #!/bin/bash source zmienna.conf echo $ZMIENNA Dalej czekaj bo rozkminiam ocb z tym pingiem.... cdn... Udostępnij ten post Link to postu Udostępnij na innych stronach
Jarosław Szmańda 42 Zgłoś post Napisano Marzec 18, 2016 #!/bin/sh echo Generowanie certyfikatu echo Domena: read Domena { cd devil www options $domena sslonly off source Letsencrypt.sh sign_domain $domena xx.185.yy.169 php devil www options $domena sslonly on } &> /dev/null echo Wygenerowano certyfikat dla domeny $domena ./ssl.sh Generowanie certyfikatu Domena: 123.pl Wygenerowano certyfikat dla domeny [Błąd] Nieprawidłowa składnia polecenia ./ssl.sh: source: not found ./ssl.sh: sign_domain: not found [Błąd] Nieprawidłowa składnia polecenia Pomożecie? Udostępnij ten post Link to postu Udostępnij na innych stronach
Gość Spoofy Zgłoś post Napisano Marzec 18, 2016 Pomożemy! Komuna się szerzy xD Czekaj, ale zmienną $domena masz ustawioną.... więc to gra - nie source'uje Ci "Letsencrypt.sh" tego i dlatego nie może znaleźć funkcji : sign_domain Edit: Prawdopodobnie dlatego że robisz "cd" czyli wracasz standardowo do katalogu domowego - upewnij się że jest tam "Letsencrypt.sh" #!/bin/bashWORKDIR="<KATALOG_GDZIE_ZNAJDUJE_SIĘ_PLIK 'Letsencrypt.sh'"ADRES_IP="127.0.0.1"generate() { cd "${WORKDIR}" if [ -e "${WORKDIR}/Letsencrypt.sh"]; then devil www options $domena sslonly off source Letsencrypt.sh sign_domain $domena $ADRES_IP devil www options $domena sslonly on else echo "Nie mogę znaleźć pliku 'Letsencrypt.sh'!" exit 0 fi}echo "Generowanie certyfikatu let's encrypt"echo "Podaj domenę:"read domenagenerate &> /dev/nullecho "Wygenerowano certyfikat dla domeny: $domena" coś w ten deseń, hm? Udostępnij ten post Link to postu Udostępnij na innych stronach
Gość mariaczi Zgłoś post Napisano Marzec 18, 2016 Może tak: https://dug.net.pl/tekst/330/darmowy_certyfikat_ktory_akceptuje_ca:%29/ Udostępnij ten post Link to postu Udostępnij na innych stronach
Jarosław Szmańda 42 Zgłoś post Napisano Marzec 18, 2016 $ ./s.sh Generowanie certyfikatu let's encrypt Podaj domenę: xxx.pl I nie generuje nic... Udostępnij ten post Link to postu Udostępnij na innych stronach
Gość Spoofy Zgłoś post Napisano Marzec 18, 2016 read domenagenerate bez wywalania outputu do /dev/null - pokaż co wypluwa Udostępnij ten post Link to postu Udostępnij na innych stronach
Pan Kot 1535 Zgłoś post Napisano Marzec 19, 2016 (edytowany) Jak chcesz to robić bardziej przenośne to unikaj polecenia read, które blokuje stdin, na rzecz dodawania wsparcia dla argumentów. Najprościej jak się da, przykład z pingiem. #!/bin/bash set -eu ping "$1" ./ping.sh google.pl Bardziej egzotyczne: #!/bin/bash set -eu LOG=0 STRONA="" for ARG in "$@"; do case "$ARG" in "--log") LOG=1 ;; "--no-log") LOG=0 ;; *) STRONA="$ARG" ;; esac done if [[ "$LOG" -eq 1 ]]; then ping "$STRONA" else ping "$STRONA" &>/dev/null fi ./egzotyka.sh --log google.pl Edytowano Marzec 19, 2016 przez Archi (zobacz historię edycji) Udostępnij ten post Link to postu Udostępnij na innych stronach