* Is there a better way
@ 2005-12-12 20:03 MARG
2005-12-12 20:25 ` Scott Taylor
2005-12-12 20:36 ` Adrian C.
0 siblings, 2 replies; 5+ messages in thread
From: MARG @ 2005-12-12 20:03 UTC (permalink / raw)
To: linux-admin
Hi,
I'm doing this script (after my signature) that starts by downloading
files from the web.
It checks for each file if the download was successful.
Is theres a fancier way to do the test, instead of repeating
-----------------------------------
code=$?
if [ $code != 0 ]
then
echo "Couldn't retrieve file :("
exit 1
fi
-----------------------------------
for each file ?
Any help would be apreciated.
Warm Regards,
MARG
#!/bin/bash
cd /usr/local/src
wget
http://www.mirror.ac.uk/mirror/ftp.apache.org/httpd/apache_1.3.34.tar.gz
code=$?
echo $code
if [ $code != 0 ]
then
echo "Couldn't retrieve file :("
exit 1
fi
wget
http://www.mirror.ac.uk/mirror/www.mysql.org/Downloads/MySQL-5.0/mysql-5.0.16.tar.gz
code=$?
echo $code
if [ $code != 0 ]
then
echo "Couldn't retrieve file :("
exit 1
fi
wget
http://www.mirror.ac.uk/mirror/ftp.postgresql.org/v8.1.1/postgresql-8.1.1.tar.bz2
code=$?
echo $code
if [ $code != 0 ]
then
echo "Couldn't retrieve file :("
exit 1
fi
wget
http://www.mirror.ac.uk/mirror/ftp.openssl.org/source/openssl-0.9.8a.tar.gz
code=$?
echo $code
if [ $code != 0 ]
then
echo "Couldn't retrieve file :("
exit 1
fi
wget
http://www.mirror.ac.uk/mirror/ftp.modssl.org/source/mod_ssl-2.8.25-1.3.34.tar.gz
code=$?
echo $code
if [ $code != 0 ]
then
echo "Couldn't retrieve file :("
exit 1
fi
wget http://www.mirror.ac.uk/mirror/ftp.apache.org/perl/mod_perl-1.29.tar.gz
code=$?
echo $code
if [ $code != 0 ]
then
echo "Couldn't retrieve file :("
exit 1
fi
wget http://www.modsecurity.org/download/modsecurity-apache-1.9.1.tar.gz
code=$?
echo $code
if [ $code != 0 ]
then
echo "Couldn't retrieve file :("
exit 1
fi
wget
http://puzzle.dl.sourceforge.net/sourceforge/mcrypt/libmcrypt-2.5.7.tar.gz
code=$?
echo $code
if [ $code != 0 ]
then
echo "Couldn't retrieve file :("
exit 1
fi
wget http://puzzle.dl.sourceforge.net/sourceforge/mhash/mhash-0.9.3.tar.gz
code=$?
echo $code
if [ $code != 0 ]
then
echo "Couldn't retrieve file :("
exit 1
fi
wget http://puzzle.dl.sourceforge.net/sourceforge/mcrypt/mcrypt-2.6.4.tar.gz
code=$?
echo $code
if [ $code != 0 ]
then
echo "Couldn't retrieve file :("
exit 1
fi
wget
http://www.mirror.ac.uk/mirror/rsync.php.net/distributions/php-5.1.1.tar.bz2
code=$?
echo $code
if [ $code != 0 ]
then
echo "Couldn't retrieve file :("
exit 1
fi
wget http://neacm.fe.up.pt/pub/apache/httpd/modpython/mod_python-2.7.11.tgz
^ permalink raw reply [flat|nested] 5+ messages in thread* Re: Is there a better way
2005-12-12 20:03 Is there a better way MARG
@ 2005-12-12 20:25 ` Scott Taylor
2005-12-12 20:36 ` Adrian C.
1 sibling, 0 replies; 5+ messages in thread
From: Scott Taylor @ 2005-12-12 20:25 UTC (permalink / raw)
To: linux-admin
MARG said:
> Hi,
>
> I'm doing this script (after my signature) that starts by downloading
> files from the web.
> It checks for each file if the download was successful.
>
> Is theres a fancier way to do the test, instead of repeating
> -----------------------------------
> code=$?
> if [ $code != 0 ]
> then
> echo "Couldn't retrieve file :("
> exit 1
> fi
> -----------------------------------
>
> for each file ?
How about putting your links in a nice file
for link in `cat mylinksfile`; do
wget $link
blah blah blah
done
using && in place of ; might help too, as the next command (after &&) only
gets ran if the first was error free.
also if [!$?] should work in this case as well (test it though)
> Any help would be apreciated.
You need a book on UNIX Shell scripting. There are loads of free stuff
out there. :)
--
Scott
^ permalink raw reply [flat|nested] 5+ messages in thread* Re: Is there a better way
2005-12-12 20:03 Is there a better way MARG
2005-12-12 20:25 ` Scott Taylor
@ 2005-12-12 20:36 ` Adrian C.
2005-12-12 21:01 ` Scott Taylor
1 sibling, 1 reply; 5+ messages in thread
From: Adrian C. @ 2005-12-12 20:36 UTC (permalink / raw)
To: linux-admin
Or so, if you dont trust the "&&"
#!/bin/bash
for pkgurl in $(cat pkg-url-list.txt); do
wget $pkgurl ;
code=$?
echo $code
if [ $code != 0 ]
then
echo "Couldn't retrieve file :("
###break loop instead of exit 1
break
fi
done
--Adrian
>MARG said:
> > Hi,
> >
> > I'm doing this script (after my signature) that starts by downloading
> > files from the web.
> > It checks for each file if the download was successful.
> >
> > Is theres a fancier way to do the test, instead of repeating
^ permalink raw reply [flat|nested] 5+ messages in thread* Re: Is there a better way
2005-12-12 20:36 ` Adrian C.
@ 2005-12-12 21:01 ` Scott Taylor
2005-12-12 21:09 ` Adrian C.
0 siblings, 1 reply; 5+ messages in thread
From: Scott Taylor @ 2005-12-12 21:01 UTC (permalink / raw)
To: linux-admin
Adrian C. said:
>
> Or so, if you dont trust the "&&"
>
> #!/bin/bash
> for pkgurl in $(cat pkg-url-list.txt); do
> wget $pkgurl ;
> code=$?
> echo $code
> if [ $code != 0 ]
> then
> echo "Couldn't retrieve file :("
> ###break loop instead of exit 1
> break
> fi
>
> done
Also, may want to add the variable to your error message so you know which
file it couldn't get:
echo "Couldn't retrieve file: $pkgurl :("
--
Scott
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2005-12-12 21:09 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-12-12 20:03 Is there a better way MARG
2005-12-12 20:25 ` Scott Taylor
2005-12-12 20:36 ` Adrian C.
2005-12-12 21:01 ` Scott Taylor
2005-12-12 21:09 ` Adrian C.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.