Подскажите с функцией

Программирование на sh, быть может немного про альтернативные языки
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
RusBiT
лейтенант
Сообщения: 635
Зарегистрирован: 2007-08-03 11:43:53
Откуда: Красноярск
Контактная информация:

Подскажите с функцией

Непрочитанное сообщение RusBiT » 2008-10-04 11:47:50

Подскажите как реализовать функцию ,

Код: Выделить всё

#!/bin/sh
DIR=/network
RESURS=ftp.ru
LOGIN=login
PASS=pass
#
FTP=ftp://$LOGIN:$PASS@$RESURS
DIR=$DIR/$RESURS
if [ "`mount | grep $DIR`" =  "" ] 
    then
	if ping -c 2 $RESURS
	then
	curlftpfs -o allow_other -o codepage=cp1251 $FTP $DIR
	fi
fi
Пробывал так, не работает

Код: Выделить всё

#!/bin/sh
ftp($LOGIN,$PASS,$RESURS,$DIR){
FTP=ftp://$LOGIN:$PASS@$RESURS
DIR=$DIR/$RESURS
if [ "`mount | grep $DIR`" =  "" ] 
    then
	if ping -c 2 $RESURS
	then
	curlftpfs -o allow_other -o codepage=cp1251 $FTP $DIR
	fi
fi
}
ftp("anonymous","mail@mail.mail","ftp.ru","/network");
Чем больше я познаю FreeBSD, тем больше я считаю себя ламером :)

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

Re: Подскажите с функцией

Непрочитанное сообщение zg » 2008-10-04 13:29:07

в мануале как ни странно написано

Код: Выделить всё

   Functions
     The syntax of a function definition is

           name ( ) command

     A function definition is an executable statement; when executed it
     installs a function named name and returns an exit status of zero.  The
     command is normally a list enclosed between `{' and `}'.
функции вызываются как команды, обработка аргументов также как в обычных файлах $1, $2

Аватара пользователя
RusBiT
лейтенант
Сообщения: 635
Зарегистрирован: 2007-08-03 11:43:53
Откуда: Красноярск
Контактная информация:

Re: Подскажите с функцией

Непрочитанное сообщение RusBiT » 2008-10-05 12:06:16

Спасибо, дошло

Код: Выделить всё

#!/bin/sh
FOLDER="/home/rbt/Рабочий стол/Network";
ftp (){
RESURS=$1;
LOGIN=$2;
if ["$LOGIN" = ""]
 then LOGIN="anonymous"; PASS="mount_script";
 fi
PASS=$3;
#
FTP=ftp://"$LOGIN":"$PASS"@"$RESURS"
DIR="$FOLDER"/"$RESURS"
if [ "`mount | grep $RESURS`" =  "" ] 
    then
	if ping -c 2 $RESURS
	then
	mkdir "$DIR";
	chown rbt "$DIR";
	curlftpfs -o allow_other -o codepage=cp1251 "$FTP" "$DIR"
	fi
fi
}
ftp "ftp.ru" "login" "pass";
ftp ftp2.ru
Чем больше я познаю FreeBSD, тем больше я считаю себя ламером :)