Код: Выделить всё
#!/bin/bash
cat users.list|while read user
do
cat letter|mail -s "Warning: Mail System" $user@second.ua
done
exit
Код: Выделить всё
#!/bin/bash
cat users.list|while read user
do
cat letter|mail -s "Warning: Mail System" $user@second.ua
done
exit
Код: Выделить всё
man sleep
Код: Выделить всё
#!/bin/bash
COUNTER=1
cat users.list|while read user
do
if [ $COUNTER -eq 20 ]
then
sleep 30
COUNTER=1
cat letter|mail -s "Warning: Mail System" $user@second.ua
else
COUNTER=$(($COUNTER + 1))
cat letter|mail -s "Warning: Mail System" $user@second.ua
fi
done
exit
И это очень правильно сказанно, т.к. sh грузиться значительно веселей баша,Alex Keda писал(а):ещё бы на шелле писать учились - цены бы скриптам не было
Код: Выделить всё
#! /bin/sh
###############################################
# User defined variables
#----------------------------------------------
#
Subject='Warning: Mail System'
domain='second.ua'
mailbatch=20 # how many mails to send before pause
pause=10 # how long to wait after sending ${mbatch} mails
#
###############################################
user=''
fusers=$1
fletter=$2
if [ ! -r "${fusers}" -o ! -r "${fletter}" ]; then
cat <<EOH
-------------------------------------------------------------------------------
Usage:
`basename $0` File_with_users_names File_with_letter_to_send
-------------------------------------------------------------------------------
EOH
exit 1
fi
mbatch=${mailbatch}
while read user; do
echo "Sending mail to: ${user}@${domain}"
cat ${fletter} | mail -s "${Subject}" "${user}@${domain}"
sleep 1 # IMHO it is a good idea to wait here a little bit too ;)
mbatch=$((mbatch-1))
[ ${mbatch} -eq 0 ] && { sleep ${pause}; mbatch=${mailbatch}; } # wait before send to other users in list
done <${fusers}
exit 0
Согласен на все 100% !Alex Keda писал(а):это правильней вообще.
sh - есть везде. у тредстартера может стоять что угодно - и баша там может не быть в принципе.
На баше программить конечно значительно удобней и возможностей у него на много больше, без которых иногда просто не обойтись, но есть одно большое "НО" - у него встроенны сетевые возможности, что очень любят кракеры. Нафиг не нужны нет-кэты и прочие средства чтобы контролировать спровацированную машину - достаточно одного баша и никаких следов инородных файлов. Поэтому если уж я его (баша) и юзаю, то только как статически скомпилированный, независимый файл, и чтобы духа его не было в /etc/shells и права на него только r-x------Alex Keda писал(а):например, список софта на сервере утверждается начальством, и поставить чё-то левое, чего нет по дефолту (на фре, аиксе и прочих) может быть невозможным.
Эмм... ИМХО, это больше вопрос типа - "Ну скажи мне, - куда я не могу доехать на Москвиче-412, где твоя Тойота может проехать? "Alex Keda писал(а):во фре все стартовые скрипты на sh написаны
покажите мне чё-то своё, боле сложное, что нелья на sh сделать и понадобился bash?
Код: Выделить всё
# Prg1 | Prg2 | Prg3
Во-во! Этот же вопрос я сегодня уже задавал сам себе глядя утром в зеркало на распухшую от пива рожу... а отражение, падла, ответило - "пьяная скотина..."Alex Keda писал(а):ты хто?
Да мне туфталогия(на пальцах) просто нужна была, чтоб объяснить клиенту почему "чудеса" начались, после того как прошлись ugidfw-ом по их машинам.Alex Keda писал(а):чё-то было про него с погода-год назад.
Есть хорошая поговорка -"Бабе столько лет на сколько она выглядит, а мужику столько, на сколько он себя чувствует"Alex Keda писал(а):сижу думаю - старость или лень прогрессирует...