|
| 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.
| |
|
|