|  | 		    
					
        
         
          
         
	
          | |  | Script der tager et argument? Fra : Paminu
 | 
 Dato :  25-12-05 11:51
 | 
 |  | Er det muligt at lave et script som når man kører det tager et argument (fx
 filnavn) og bruger det i udførelsen af scriptet?
 
 Havde tænkte på noget i stil med:
 
 myscript test.ex
 
 i scriptet skal der så udføres:
 
 ../MC test
 
 som producere en test.as fil. Dernæst skal der udføres:
 
 masm test.as
 
 som producere en test.hex fil. Dernæst skal der udføres:
 
 mips test.hex 0
 
 
 Er det muligt at automatisere disse operationer med et script eller er det
 nemmere at lave et lille java program?
 
 
 |  |  | 
  Soren (News) (25-12-2005) 
 
	
          | |  | Kommentar Fra : Soren (News)
 | 
 Dato :  25-12-05 12:22
 | 
 |  | Paminu <dfsdf@asd.com> writes:
 
 > Er det muligt at lave et script som når man kører det tager et argument (fx
 > filnavn) og bruger det i udførelsen af scriptet?
 [snip]
 
 Ja, det er muligt.
 
 $1 er det foerste argument.  "man bash" og scroll ned til afsnittet om
 Parameter Expansion, saa skulle du gerne faa en ide om hvordan du kan faa
 $1 omsat til de forskellige filnavne.
 
 Mvh,
 Soren
 
 
 |  |  | 
  Paminu (25-12-2005) 
 
	
          | |  | Kommentar Fra : Paminu
 | 
 Dato :  25-12-05 16:31
 | 
 |  | Soren (News wrote:
 
 > Paminu <dfsdf@asd.com> writes:
 >
 >> Er det muligt at lave et script som når man kører det tager et argument
 >> (fx filnavn) og bruger det i udførelsen af scriptet?
 > [snip]
 >
 > Ja, det er muligt.
 >
 > $1 er det foerste argument.  "man bash" og scroll ned til afsnittet om
 > Parameter Expansion, saa skulle du gerne faa en ide om hvordan du kan faa
 > $1 omsat til de forskellige filnavne.
 >
 > Mvh,
 > Soren
 
 
 Nu har jeg lavet en eksekverbar fil der hedder "min" som indeholder (hvor MC
 er det program der tager $1 (en test.m fil) som argument og producere en
 test.as fil):
 
 #!/bin/sh
 ../MC $1
 
 masm ${1/.m/.as}
 
 Men det kører ikke helt. Ideen er at masm skal tage den fil (.as) som MC
 producere.
 
 Jeg har forsøgt at tyde det som står i man bash om :
 Parameter Expansion -> ${parameter//pattern/string} men kan ikke helt få det
 til at du.
 
 
 |  |  | 
   Soren (News) (25-12-2005) 
 
	
          | |  | Kommentar Fra : Soren (News)
 | 
 Dato :  25-12-05 18:09
 | 
 |  | Paminu <dfsdf@asd.com> writes:
 
 > Nu har jeg lavet en eksekverbar fil der hedder "min" som indeholder (hvor MC
 > er det program der tager $1 (en test.m fil) som argument og producere en
 > test.as fil):
 >
 > #!/bin/sh
 > ./MC $1
 >
 > masm ${1/.m/.as}
 >
 > Men det kører ikke helt. Ideen er at masm skal tage den fil (.as) som MC
 > producere.
 
 Hvad er det der ikke fungerer?
 
 --
 #!/bin/bash
 
 echo $1
 echo ${1/.m/.as}
 --
 
 Kaldes den med hello.m som foerste argument, saa producerer den output:
 
 --
 hello.m
 hello.as
 --
 
 Tjek hvad din /bin/sh er linket op mod, mit eksempel bruger bash.
 
 Mvh,
 Soren
 
 
 |  |  | 
    js (03-01-2006) 
 
	
          | |  | Kommentar Fra : js
 | 
 Dato :  03-01-06 12:29
 | 
 |  | Soren (News wrote:
 
 > Paminu <dfsdf@asd.com> writes:
 >
 >> Nu har jeg lavet en eksekverbar fil der hedder "min" som indeholder (hvor
 >> MC er det program der tager $1 (en test.m fil) som argument og producere
 >> en test.as fil):
 >>
 >> #!/bin/sh
 >> ./MC $1
 >>
 >> masm ${1/.m/.as}
 >>
 >> Men det kører ikke helt. Ideen er at masm skal tage den fil (.as) som MC
 >> producere.
 >
 > Hvad er det der ikke fungerer?
 >
 > --
 > #!/bin/bash
 >
 > echo $1
 > echo ${1/.m/.as}
 > --
 >
 > Kaldes den med hello.m som foerste argument, saa producerer den output:
 >
 > --
 > hello.m
 > hello.as
 > --
 >
 > Tjek hvad din /bin/sh er linket op mod, mit eksempel bruger bash.
 >
 > Mvh,
 > Soren
 
 
 ../MC $1
 
 denne operation udføres korrekt og der laves en .as fil.
 
 dernæst vil jeg gerne kører masm på denne .as fil. Problemet er at nu ligger
 der både en test.m og en test.as fil. Hvordan specificere man at masm skal
 køres på den som ender på .as?
 
 
 |  |  | 
   Ukendt (25-12-2005) 
 
	
          | |  | Kommentar Fra : Ukendt
 | 
 Dato :  25-12-05 22:33
 | 
 |  | Paminu wrote:
 >
 > #!/bin/sh
 > ./MC $1
 >
 > masm ${1/.m/.as}
 
 Det burde virke så længe der ikke er specielle tegn
 i parameteren (f.eks. mellemrum). Anførselstegn
 omkring ville løse problemet med mellemrum. Prøv at
 sætte nogle echo kommandoer ind for at se, om de giver
 et fingerpeg om årsagen.
 
 #!/bin/sh
 echo ./MC "$1"
 
 echo masm "${1/.m/.as}"
 
 --
 Kasper Dupont
 Note to self: Don't try to allocate
 256000 pages with GFP_KERNEL on x86.
 
 
 |  |  | 
  Jacob Bunk Nielsen (27-12-2005) 
 
	
          | |  | Kommentar Fra : Jacob Bunk Nielsen
 | 
 Dato :  27-12-05 18:49
 | 
 |  | 
 
            Paminu <dfsdf@asd.com> writes:
 > Er det muligt at lave et script som når man kører det tager et argument (fx
 > filnavn) og bruger det i udførelsen af scriptet?
 Ja, men det lyder som om du i virkeligheden har brug for make.
 -- 
 Jacob - www.bunk.cc You never get a second chance to make a first impression.
            
             |  |  | 
 |  |