/ Forside / Teknologi / Operativsystemer / Linux / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Linux
#NavnPoint
o.v.n. 11177
peque 7911
dk 4814
e.c 2359
Uranus 1334
emesen 1334
stone47 1307
linuxrules 1214
Octon 1100
10  BjarneD 875
Simpelt Shell-script spørgsmål
Fra : Jimmy


Dato : 09-07-03 22:33

Hej

Hvordan får jeg startet et program, hvis fulde sti ligger i $a ?

Mvh
Jimmy



 
 
Thomas Bjorn Anderse~ (09-07-2003)
Kommentar
Fra : Thomas Bjorn Anderse~


Dato : 09-07-03 22:33

"Jimmy" <nyhedsgruppe@get2net.dk> writes:

> Hej
>
> Hvordan får jeg startet et program, hvis fulde sti ligger i $a ?

#!/bin/sh
a=/bin/date
$a

--
Thomas Bjorn Andersen
+++ATH

Jimmy (09-07-2003)
Kommentar
Fra : Jimmy


Dato : 09-07-03 22:43


"Thomas Bjorn Andersen" <tbaNOSPAM200301@gen-v.net> wrote in message
news:868yr7jsi5.fsf@gen-v.net...
> "Jimmy" <nyhedsgruppe@get2net.dk> writes:
>
> > Hej
> >
> > Hvordan får jeg startet et program, hvis fulde sti ligger i $a ?
>
> #!/bin/sh
> a=/bin/date
> $a


Det gik stærkt med det svar!
Dog tror jeg ikke jeg har forstået dig korrekt.
Se mit script nedenfor (Som genstarter en række apache'r)


for a in "$(grep -i /usr/sbin/httpd /etc/rc.local)"
do
echo $a
done


Hvad mangler jeg for at få afviklet programmet i $a?

Mvh
Jimmy





Michael Hjorth (09-07-2003)
Kommentar
Fra : Michael Hjorth


Dato : 09-07-03 22:49

On Wed, 09 Jul 2003 23:42:35 +0200, Jimmy wrote:



>
> Det gik stærkt med det svar!

Ja, svaret kom før spørgmålet !

> Dog tror jeg ikke jeg har forstået dig korrekt. Se mit script nedenfor
> (Som genstarter en række apache'r)
>
>
> for a in "$(grep -i /usr/sbin/httpd /etc/rc.local)" do
> echo $a
> done
>
>
> Hvad mangler jeg for at få afviklet programmet i $a?
>
>
for a in "$(grep -i /usr/sbin/httpd /etc/rc.local)"
do
echo $a
$a
done

Michael.

Jimmy (09-07-2003)
Kommentar
Fra : Jimmy


Dato : 09-07-03 22:55


"Michael Hjorth" <mhjorth1@netscape.net> wrote in message
news:pan.2003.07.09.23.48.41.975824.463@netscape.net...
> On Wed, 09 Jul 2003 23:42:35 +0200, Jimmy wrote:
>
> > Hvad mangler jeg for at få afviklet programmet i $a?
> >
> >
> for a in "$(grep -i /usr/sbin/httpd /etc/rc.local)"
> do
> echo $a
> $a
> done


Ja den havde jeg faktisk prøvet, men det giver følgende:

[root@GSM shell]# ./apache_restarter.sh
/usr/sbin/httpd -f /home/Apache/httpd.conf /usr/sbin/httpd -f
/home/USER1/apache/httpd.conf

Usage: /usr/sbin/httpd [-D name] [-d directory] [-f file]
bla bla

Jeg har da indtryk af, at grep virker korrekt og henter een linie ad gangen,
men et eller andet går galt...

Mvh
Jimmy





Michael Hjorth (09-07-2003)
Kommentar
Fra : Michael Hjorth


Dato : 09-07-03 23:04

On Wed, 09 Jul 2003 23:55:03 +0200, Jimmy wrote:




> Ja den havde jeg faktisk prøvet, men det giver følgende:
>
> [root@GSM shell]# ./apache_restarter.sh
> /usr/sbin/httpd -f /home/Apache/httpd.conf /usr/sbin/httpd -f
> /home/USER1/apache/httpd.conf
>
> Usage: /usr/sbin/httpd [-D name] [-d directory] [-f file] bla bla
>
> Jeg har da indtryk af, at grep virker korrekt og henter een linie ad
> gangen, men et eller andet går galt...
>
Jeg synes det ser ud som om der er to /usr/sbin/httpd kald på samme
linie? Så du bør nok checke en gang til at du virkelig får kommandoerne en
af gangen.

Michael.

Jimmy (10-07-2003)
Kommentar
Fra : Jimmy


Dato : 10-07-03 12:06


"Michael Hjorth" <mhjorth1@netscape.net> wrote in message
news:pan.2003.07.10.00.04.03.955903.463@netscape.net...
> On Wed, 09 Jul 2003 23:55:03 +0200, Jimmy wrote:
>

> > Jeg har da indtryk af, at grep virker korrekt og henter een linie ad
> > gangen, men et eller andet går galt...
> >
> Jeg synes det ser ud som om der er to /usr/sbin/httpd kald på samme
> linie? Så du bør nok checke en gang til at du virkelig får kommandoerne en
> af gangen.

Ja det gør jeg åbenbart ikke.

Men hvordan pokker skal jeg så lave scriptet?
Jeg er kørt helt fast i greppen tror jeg.

Mvh
Jimmy



Lars Kongshøj (10-07-2003)
Kommentar
Fra : Lars Kongshøj


Dato : 10-07-03 12:19

Jimmy wrote:
> "Michael Hjorth" <mhjorth1@netscape.net> wrote in message
> > On Wed, 09 Jul 2003 23:55:03 +0200, Jimmy wrote:
> > > Jeg har da indtryk af, at grep virker korrekt og henter een linie ad
> > > gangen, men et eller andet går galt...
> > Jeg synes det ser ud som om der er to /usr/sbin/httpd kald på samme
> > linie? Så du bør nok checke en gang til at du virkelig får kommandoerne en
> > af gangen.
> Ja det gør jeg åbenbart ikke.
> Men hvordan pokker skal jeg så lave scriptet?
> Jeg er kørt helt fast i greppen tror jeg.

Det er vel din shell, der erstatter linieskift med mellemrum?

Men hvorfor skriver du ikke kommandoen i steden for at greppe efter den?

Og hvorfor startes httpd to gang i dit rc.local-script?

--
Lars Kongshøj
http://www.kongshoj.com/

Jimmy (10-07-2003)
Kommentar
Fra : Jimmy


Dato : 10-07-03 12:48


"Lars Kongshøj" <lars_kongshoj@hotmail.com> wrote in message
news:3F0D4B9E.93E61573@hotmail.com...
> Jimmy wrote:

> Det er vel din shell, der erstatter linieskift med mellemrum?

Måske - ingen anelse.

[root@GSM shell]# cat /etc/rc.local | grep "/usr/sbin/httpd"
/usr/sbin/httpd -f /home/USER1/httpd.conf
/usr/sbin/httpd -f /home/USER2/apache/httpd.conf



> Men hvorfor skriver du ikke kommandoen i steden for at greppe efter den?

Fordi der skal startes flere apacher med forskellige conf's.


> Og hvorfor startes httpd to gang i dit rc.local-script?

Se ovenfor

Mvh
Jimmy



Thomas S. Iversen (10-07-2003)
Kommentar
Fra : Thomas S. Iversen


Dato : 10-07-03 13:04

In article <LncPa.1808$CM2.1584@news.get2net.dk>, Jimmy wrote:
> Fordi der skal startes flere apacher med forskellige conf's.

Er der er en grund til at du ikke blot bruger
virtuelle domaener eller andre af apaches muligheder
for lade hver bruger se hver deres omraade af netstedet?

Thomas, Vanloese

Jimmy (10-07-2003)
Kommentar
Fra : Jimmy


Dato : 10-07-03 18:28


"Thomas S. Iversen" <zensonic@zensonic.dk> wrote in message
news:slrnbgqlgs.8sp.zensonic@www.zensonic.dk...
> In article <LncPa.1808$CM2.1584@news.get2net.dk>, Jimmy wrote:
> > Fordi der skal startes flere apacher med forskellige conf's.
>
> Er der er en grund til at du ikke blot bruger
> virtuelle domaener eller andre af apaches muligheder
> for lade hver bruger se hver deres omraade af netstedet?

Ja det er der faktisk.

- Hver bruger har sin egen httpd.conf.
- Jeg kan genstarte enkelte httpd'er uden at de andre oplever nedetid.
- Jeg kan modificere og hærge min httpd.conf uden at de andre bemærker det
- Jeg kan være *helt* sikker på at de ikke kan læse hinandens filer, da
apache nu afvikles som deres egen bruger og jeg derved kan fjerne alle
rettigheder fra Group og Other. (Brugerne har Shell-adgang)
- Brugere kan lave super-skod-kode uden at det direkte påvirker de andre

Det skal bemærkes, at det *udelukkende* er betroede brugere der er på
maskinen, da jeg er klar over (en del af) de risici der er forbundet med
dette setup.

Jeg er ikke låst fast på at løse mit problem med at få genstartet alle
apacher ved at greppe i rc.local, hvis nogen kan foreslå en bedre måde?

Mvh
Jimmy



Thomas S. Iversen (11-07-2003)
Kommentar
Fra : Thomas S. Iversen


Dato : 11-07-03 07:15

In article <imhPa.4407$ug7.2212@news.get2net.dk>, Jimmy wrote:
> Ja det er der faktisk.

[snip en masse punkter]

Nu hvor det hele er lige ved at spille for dig, så vil jeg sige, at
alternativt kunne du have haft kørt vserver

http://packages.debian.org/unstable/base/vserver.html
http://www.solucorp.qc.ca/miscprj/s_context.hc

Thomas, Vanløse

Michael Hjorth (10-07-2003)
Kommentar
Fra : Michael Hjorth


Dato : 10-07-03 19:35

On Thu, 10 Jul 2003 13:05:35 +0200, Jimmy wrote:


> "Michael Hjorth" <mhjorth1@netscape.net> wrote in message
> news:pan.2003.07.10.00.04.03.955903.463@netscape.net...
>> On Wed, 09 Jul 2003 23:55:03 +0200, Jimmy wrote:
>>
>>
>> > Jeg har da indtryk af, at grep virker korrekt og henter een linie ad
>> > gangen, men et eller andet går galt...
>> >
>> Jeg synes det ser ud som om der er to /usr/sbin/httpd kald på samme
>> linie? Så du bør nok checke en gang til at du virkelig får kommandoerne
>> en af gangen.
>
> Ja det gør jeg åbenbart ikke.
>
> Men hvordan pokker skal jeg så lave scriptet? Jeg er kørt helt fast i
> greppen tror jeg.
>
OK, jeg har nu kigget lidt mere på sagen.
Der er to problemer:
for det første tager et for loop ordene et ad gangen, det forsøger du at
løse ved at sætte "" om grep kommandoen. Her får du så det det andet
problem, nemlig at anførselstegnene får det hele til at være på én linie i
stedet.

Du skal bruge read kommandoen i stedet. Prøv denne kode i stedet:

grep -i /usr/sbin/httpd /etc/rc.local | while read a do
echo $a
$a
done

Michael.

Jimmy (10-07-2003)
Kommentar
Fra : Jimmy


Dato : 10-07-03 20:07


"Michael Hjorth" <mhjorth1@netscape.net> wrote in message
news:pan.2003.07.10.20.35.20.665887.481@netscape.net...
> On Thu, 10 Jul 2003 13:05:35 +0200, Jimmy wrote:
>
>
> > "Michael Hjorth" <mhjorth1@netscape.net> wrote in message
> > news:pan.2003.07.10.00.04.03.955903.463@netscape.net...
> >> On Wed, 09 Jul 2003 23:55:03 +0200, Jimmy wrote:
> >>
> > Men hvordan pokker skal jeg så lave scriptet? Jeg er kørt helt fast i
> > greppen tror jeg.
> >
> OK, jeg har nu kigget lidt mere på sagen.
> Der er to problemer:
> for det første tager et for loop ordene et ad gangen, det forsøger du at
> løse ved at sætte "" om grep kommandoen. Her får du så det det andet
> problem, nemlig at anførselstegnene får det hele til at være på én linie i
> stedet.

Ja præcis. Beklager jeg ikke fik skrevet det med det samme.


> Du skal bruge read kommandoen i stedet. Prøv denne kode i stedet:
>
> grep -i /usr/sbin/httpd /etc/rc.local | while read a do
> echo $a
> $a
> done

Det virkede

Tak for hjælpen,
Jimmy



Jacob Bunk Nielsen (09-07-2003)
Kommentar
Fra : Jacob Bunk Nielsen


Dato : 09-07-03 23:23

"Jimmy" <nyhedsgruppe@get2net.dk> writes:

> [root@GSM shell]# ./apache_restarter.sh

Hvis du vil genstarte Apache, hvorfor bruger du så ikke 'apachectl
restart'?

> /usr/sbin/httpd -f /home/Apache/httpd.conf /usr/sbin/httpd -f
> /home/USER1/apache/httpd.conf

Er det den kommando du forventer den skal køre?

> Usage: /usr/sbin/httpd [-D name] [-d directory] [-f file]
> bla bla

Det ser ud som om den fik nogle forkerte argumenter eller noget, for
programmet bliver kørt, men fortæller dig at du ikke kunne finde ud af
at bruge det.

--
Jacob - www.bunk.cc
When does later become never?

Søg
Reklame
Statistik
Spørgsmål : 177560
Tips : 31968
Nyheder : 719565
Indlæg : 6408952
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste