compton@cpsvax.cps.msu.edu (Compton David L. ACT F89) (03/30/90)
For those of you using Suns running Unix System V, there is an
easy way to request simtel20 files. Putting a .netrc file in your
download directory (.) of the form:
--------Start-----------------
machine wsmr-simtel20.army.mil
login anonymous
password compton@cpsin3.cps.msu.edu
macdef init
tenex
cd PD1:<MSDOS.MSWINDOWS>
get WNQVT415.ARC
bye
-------End-------------------
will cause ftp to run the macro init which executes the script:
tenex; cd ....; get.....; bye;
In this case, there are exactly two carriage returns following the
'bye'. Moreover, this has made file transfers much more reliable since
I defined an alias: alias fsim 'ftp wsmr-simtel20.army.mil' so that
fsim & runs the file transfer in the background so that using ps you
can look to see whether it has hung (fairly often). Obviously, if you
are informed that there are --too many anonymous users-- you will have
to kill the process to terminate. Anyway, using the simtel35.exe
program to select files and using the (F3)Include, (F4)Generate
combination produces a file of the format:
-d PD1:<MSDOS.MSWINDOWS>
-t WNQVT415.ARC
which is not suitable for pasting into your .netrc
I wrote a short filter in 'C' to do the conversion:
#include <stdio.h>
#define LONG_STR 40
main()
{
char r_buf[LONG_STR],s_buf[LONG_STR],h_buf[3];
*s_buf='\0'; /* s_buf[0] */
while(scanf("%s%s",h_buf,r_buf) != EOF)
switch(h_buf[1]) {
case 'd':
if(strcmp(r_buf,s_buf)) {
printf("cd %s\n",r_buf);
strcpy(s_buf,r_buf);
}
break;
case 't':
printf("get %s\n",r_buf);
break;
}
}
The filter converts to the correct format so that the output can be
pasted into the .netrc
It makes ftp'ing from simtel20 very easy (almost too easy :)
The simtel35.exe is available on simtel20.
Please excuse the trivial nature of this article, but I thought it might
help some of those who have trouble ftp'ing. Running ftp using the
.netrc file fails less often than using ftp interactively (Empirical).
David Compton@cpsvax.cps.msu.edu