Strona 1 z 1
Wywołanie funkcji w zewnętrznym skrypcie - bash
: 08 stycznia 2013, 18:32
autor: Hardek
Witam!
Od tygodnia usiłuje napisać skrypt (w bashu) służący do administracji serwerem i utknąłem w martwym punkcie.
Mam problem z wywołaniem konkretnej funkcji, która znajduję się w zewnętrznym pliku wraz z innymi funkcjami. Próbowałem zrobić to przy pomocy polecenie source oraz instrukcji znajdującej się pod adresem:
http://dief.republika.pl/funkcje.html. Żadna z tych metod nie zadziałała. Istnieje jakieś proste rozwiązanie mojego problemu?
: 08 stycznia 2013, 18:42
autor: Rafal_F
A u mnie metoda z linku działa. Czy ścieżka do pliku z funkcjami jest prawidłowa?
Może wklej tu fragment swojego skryptu.
: 08 stycznia 2013, 19:05
autor: Hardek
Rafal_F pisze:A u mnie metoda z linku działa. Czy ścieżka do pliku z funkcjami jest prawidłowa?
Ścieżka do pliku jest prawidłowa. Może opiszę to bardziej dokładnie. Mam pierwszy plik z kilkoma funkcjami i w tym pliku uruchamiam jedną z nich. Mam drugi plik i w nim wywołuje funkcję, lecz inną niż tę uruchomioną w pierwszym pliku. Rezultat tego to uruchomienie pliku pierwszego z tą uruchomioną funkcją pomimo zadeklarowania, że ma się uruchomić inna. Da się to obejść?
: 08 stycznia 2013, 19:08
autor: lessmian2
Najlepiej będzie jak wkleisz kod i pokażesz wprost co chcesz zrobić. Ja np. nie rozumiem istoty problemu po przeczytaniu Twojego opisu (a podejrzewam, że nie tylko ja).
: 08 stycznia 2013, 19:38
autor: Hardek
lessmian2 pisze:Najlepiej będzie jak wkleisz kod i pokażesz wprost co chcesz zrobić.
Wklejam tutaj fragment kodu, co prawda nie ten co napisałem, lecz oddający mój problem (proszę nie patrzeć na poprawność).
Plik pierwszy (test1):
Kod: Zaznacz cały
#!/bin/bash
a=0
function funkcja1
{
echo "Podaj a"
while [ "$a" != "1" ]
read a
do
echo -e 'Funkcja 1'
done
}
function funkcja2
{
echo -e 'Funkcja 2'
}
function funkcja3
{
echo -e 'Funkcja 3'
}
function funkcja4
{
echo -e 'Funkcja 4'
}
funkcja1
Plik drugi (test2):
I teraz co zrobić by przekierował mnie do funkcji3 pomimo, że w pliku pierwszym (test1) uruchamiam funkcja1.
: 24 stycznia 2013, 15:39
autor: sethiel
Przecież zgodnie z powyższym z funkcja1 nie uruchamiasz funkcja3, więc jak ona ma ci się uruchomić?
To w funkcja1 powinieneś dać wywołanie funkcja3 żeby to miało jakiś sens, ,,if else''.