[linux] Re: Hoe koppel je onder Linux virtuele aan feitelijke bestandsnamen?

Geert Stappers stappers op stappers.nl
Do Nov 6 16:13:32 CET 2008


Op 06-11-2008 om 15:25 schreef Julien Michielsen:
> Geert Stappers wrote:
> > Op 06-11-2008 om 12:28 schreef Julien Michielsen:
> >> In de tijd dat ik nog werkte aan econometrische modellen ging dat op een
> >> mainframe met IBM JCL, 
> ..[]
> 
> > 
> > Zoals ik UNIX ken, zijn zulke zaken reeds regeld.
> > Ik kan fysiek op /dev/ttyS1 inloggen en heb dan "standaard in" en
> > "standaard out" reeds gedefinieerd gekregen.
> > Voor bestanden kan ik refereren aan de file naam,
> > welke disk en welke i-node er onderhangt, hoeft men niet te weten.
> > 
> > (Het kan ook zijn dat ik de vraag niet begrepen,
> > dat er meer over mainframes en VOORSPELOCT vertelt zal moeten worden.)
> 
> Dank je, hiermee is al veel beantwoord, in ieder geval betreffende
> standaard in en standaard out. Ik stelde de vraag nogal ruim en weinig
> terzake om me te orienteren voor ik een vraag aan het CPB stel, en ik me
> erover gerust over wilde stellen dat ik geen onmogelijke zaak zou begin-
> nen.  Maar toch . . . : je schreef dat je voor bestanden kunt refereren
> aan de file naam. Maar dan moet je de source code veranderen wanneer je
> de bestandsnaam verandert. En op de mainframes waarop ik heb gewerkt
> riep je vanuit het programma een "dd"-naam aan, waarbij dd staat voor
> dataset-definition (althans in JCL, andere merken gebruiken andere
> namen). Wanneer je een programma schrijft dat op x verschillende
> plaatsen en computers wordt gebruikt, dan moet dat reeds gecompileerde
> programma overal ingezet kunnen worden zonder het aan te moeten passen
> voor veranderingen in de bestandsnaam. En daarvoor gebruik je dat wat ik
> "virtuele bestandsnamen" noemde: je leest de input van dd-naam simin, en
> schrijft de oplossing naar simsol. Het is daan aan de gebruiker om een
> bestandsnaam te hangen aan simin en simsol. Hij kan daar iedere naam
> voor gebruiken die hem goed dunkt. Het lijkt mij hoogst onwaarschijnlijk
> dat dit niet onder Linux zou kunnen. Maar wie ben ik . . .

Eerder was er spraken van een bash shell script en  VOORSPELOCL


Het een niet getest versie van voorspel
#!/bin/bash
# voorspel
#  ook spannend, maar is het toch niet helemaal
#
IN=$1
OUT=$2
echo nieuwe kop | cat - $IN > $OUT
# laatste regel van dit script

Bij aanroep geef je twee parameters mee.
De "in file" en de "uit file"



Mocht je dat niet vanaf de command line willen doen.
Dan kan het ook met twee files.

---- "data_set_definitie" ---
IN=in_file.txt
OUT=uit_file.report
---- "data_set_definitie klaar" ---

#!/bin/bash
# voorspel
#   ook spannend, maar is het toch niet helemaal
#
source data_set_definitie
echo niewe kop | cat - $IN > $OUT
# laatste regel van dit script


Graag verneem ik of het een oplossing was
of dat een mainframe toch nog meer karatker eigenschappen heeft.


Cheers
Geert Stappers




More information about the Linux mailing list