bash - funkcja

0

tworze najprostsza możliwie funkcje w skrypcie(nadane prawa itp) :

test()
{
echo "Podałeś parametrów:" $#
echo "Te parametry to:" $*
}

chce go wywolac:

./skrypt aa bb
nie pojawia sie nic w wyniku, gdy wywoluje tak skrypt bez funkcji tylko same te 2 linijki to zwraca mi wszystko bez problemu.

0

uwierz mi szukałem na googlach ale nie wiem gdzie jest błąd a jak sie domyślam jest banalny. Przed test powinno byc function, ale to też nie rozwiązuje problemu. Prubowałem wywoływać skrypt przez ./nazwa_skryptu par par2 albo test par par2. Nie wiem gdzie moze być jeszcze błąd.

0

bo to są parametry jakie podałeś do funkcji, a nie do skryptu.

#!/bin/bash

function test {
echo " podałeś $# parametrów "
echo " te parametry to $* "
}

test a b c
0

wpisałem dokładnie jak powyżej i wywołuje przez nazwę funkcji ale nadal jest cos nie tak jak podaje argumenty a b c to wyświetla:
binary operator expected
a jak podaje test 0 1 , to pisze
unary operator expected

0

Jak chcesz wywołać funkcję test z parametrami jakie podajesz do skryptu to piszesz:

test $*
0
winerfresh napisał(a)

Jak chcesz wywołać funkcję test z parametrami jakie podajesz do skryptu to piszesz:

test $*

dalej to samo :-(

0

ciekawe kiedy ktorys z Was zauwazy, ze TEST jest istniejacym poleceniem i wszystko wskazuje na to, ze wlasnie ono sie odpala - 'binary operator expected' to jego komunikat..

btw. test, to ten sam, ktory odpala sie przy if [ -e \cos\gdzies\plik ] i "jest" owymi klamerkami [ ]

1 użytkowników online, w tym zalogowanych: 0, gości: 1