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