|
| Opsætning af script Fra : Martin Johansen [600~ |
Dato : 12-04-04 00:38 |
|
Hejsa!
Jeg har et backup-script, som jeg selv har sammensat. Det virker fint,
omend det skal forbedres.
Det består af en masse cp-commands hvor alle har den samme
destination-dir.
Kunne man sætte en eller anden form for variable i scriptet, så jeg
istedet for 'cp foo bar' bare kunne skrive 'cp foo' ?
Og istedet for:
'cp foo bar'
'cp foo bar'
'cp foo bar'
... kunne jeg så skrive i en køre evt?
--
Martin Johansen [6000]
http://tuxx.dk - "Carpe Aptenodytes!"
Mandrake Linux 9.2 med Fluxbox 0.9.6devel
Registered Linux User # 301406 ( http://counter.li.org)
| |
Simon Lyngshede (12-04-2004)
| Kommentar Fra : Simon Lyngshede |
Dato : 12-04-04 09:21 |
|
On Mon, 12 Apr 2004 01:38:27 +0200, Martin Johansen [6000] wrote:
> Hejsa!
>
> Jeg har et backup-script, som jeg selv har sammensat. Det virker fint,
> omend det skal forbedres.
>
> Det består af en masse cp-commands hvor alle har den samme
> destination-dir.
>
> Kunne man sætte en eller anden form for variable i scriptet, så jeg
> istedet for 'cp foo bar' bare kunne skrive 'cp foo' ?
>
> Og istedet for:
>
> 'cp foo bar'
> 'cp foo bar'
> 'cp foo bar'
>
> .. kunne jeg så skrive i en køre evt?
Du er nok nødtil at scripte lidt
f.eks
#!/bin/sh
cp $1 bar
Hmm det var vidst det. Så kan du køre "<scriptnavn> foo"
--
Simon
| |
Martin Johansen [600~ (12-04-2004)
| Kommentar Fra : Martin Johansen [600~ |
Dato : 12-04-04 10:07 |
|
On Mon, 12 Apr 2004 10:21:19 +0200, Simon Lyngshede wrote:
> Du er nok nødtil at scripte lidt
>
> f.eks
> #!/bin/sh
> cp $1 bar
>
> Hmm det var vidst det. Så kan du køre "<scriptnavn> foo"
Hmm kan jeg så bare kalde det script inde fra mit oprindelig script ?
--
Martin Johansen [6000]
http://tuxx.dk - "Carpe Aptenodytes!"
Mandrake Linux 9.2 med Fluxbox 0.9.6devel
Registered Linux User # 301406 ( http://counter.li.org)
| |
Peter Makholm (12-04-2004)
| Kommentar Fra : Peter Makholm |
Dato : 12-04-04 09:48 |
|
"Martin Johansen [6000]" <visit_my@website.invalid> writes:
> Kunne man sætte en eller anden form for variable i scriptet, så jeg
> istedet for 'cp foo bar' bare kunne skrive 'cp foo' ?
Du kan lave en funktion:
function mycp() {
cp $1 bar
}
Den kan så kaldes med
mycp foo
Hvordan genererer du listen af filer der skal kopieres? Hvis du har en
komando der genererer fillisten kunne du lave en:
gen_filelist | xargs -ri cp {} bar
eller med GNU-cp
gen_filelist | xargs -r cp --target-directory bar
--
Peter Makholm | Yes, you can fight it, but in the end the ultimate
peter@makholm.net | goal of life is to have fun
http://hacking.dk | -- Linus Torvalds
| |
Martin Johansen [600~ (12-04-2004)
| Kommentar Fra : Martin Johansen [600~ |
Dato : 12-04-04 10:06 |
|
On Mon, 12 Apr 2004 10:47:30 +0200, Peter Makholm wrote:
> Hvordan genererer du listen af filer der skal kopieres? Hvis du har en
> komando der genererer fillisten kunne du lave en:
Det er dette script:
http://tuxx.dk/filer/backup.portrica.sh
Det er jo så herresimpelt som noget kan være men desværre også noget
bøvl, at vedligeholde, hvis jeg fx. skal ændre det bibliotek, som
filerne kopieres til.
Her var det jeg gerne ville enten 1. Skrive det hele i en simpel køre
eller 2. Få destination-dir sat "fast" så jeg ikke behøver skrive den
ved hver linie.
--
Martin Johansen [6000]
http://tuxx.dk - "Carpe Aptenodytes!"
Mandrake Linux 9.2 med Fluxbox 0.9.6devel
Registered Linux User # 301406 ( http://counter.li.org)
| |
Peter Makholm (12-04-2004)
| Kommentar Fra : Peter Makholm |
Dato : 12-04-04 10:16 |
|
"Martin Johansen [6000]" <visit_my@website.invalid> writes:
> Det er dette script:
>
> http://tuxx.dk/filer/backup.portrica.sh
Personligt ville jeg nok overveje følgende:
cat <<EOL | xargs cp -Rpu --target-dir /somewhere
/etc/fil1
/etc/fil2
/home/bruger1/.fil1rc
/home/bruger1/.fil2rc
EOL
Eller også lave en mycp() funktion som jeg beskrev før.
--
Peter Makholm | Wisdom has two parts:
peter@makholm.net | 1) having a lot to say, and
http://hacking.dk | 2) not saying it
| |
Martin Johansen [600~ (12-04-2004)
| Kommentar Fra : Martin Johansen [600~ |
Dato : 12-04-04 10:21 |
|
On Mon, 12 Apr 2004 11:16:03 +0200, Peter Makholm wrote:
> "Martin Johansen [6000]" <visit_my@website.invalid> writes:
>
>> Det er dette script:
>>
>> http://tuxx.dk/filer/backup.portrica.sh
>
> Personligt ville jeg nok overveje følgende:
>
> cat <<EOL | xargs cp -Rpu --target-dir /somewhere /etc/fil1
> /etc/fil2
> /home/bruger1/.fil1rc
> /home/bruger1/.fil2rc
> EOL
>
> Eller også lave en mycp() funktion som jeg beskrev før.
Okay tak, det vil jeg prøve, at rode videre med!
--
Martin Johansen [6000]
http://tuxx.dk - "Carpe Aptenodytes!"
Mandrake Linux 9.2 med Fluxbox 0.9.6devel
Registered Linux User # 301406 ( http://counter.li.org)
| |
Peter Makholm (12-04-2004)
| Kommentar Fra : Peter Makholm |
Dato : 12-04-04 10:28 |
|
Peter Makholm <peter@makholm.net> writes:
> cat <<EOL | xargs cp -Rpu --target-dir /somewhere
> /etc/fil1
> /etc/fil2
> /home/bruger1/.fil1rc
> /home/bruger1/.fil2rc
> EOL
Og så må jeg hellere tildele mig en 'useles use of cat award' Det er
selvfølgelig helt unødvendigt at bruge cat her. Følgende er lige så
godt:
xargs cp -Rpu --target-dir /somewhere <<EOL
/etc/fil1
/etc/fil2
/home/bruger1/.fil1rc
/home/bruger1/.fil2rc
EOL
--
Peter Makholm | There are 10 kinds of people. Those who count in
peter@makholm.net | binary and those who don't
http://hacking.dk |
| |
Martin Johansen [600~ (12-04-2004)
| Kommentar Fra : Martin Johansen [600~ |
Dato : 12-04-04 10:32 |
|
On Mon, 12 Apr 2004 11:28:12 +0200, Peter Makholm wrote:
> Og så må jeg hellere tildele mig en 'useles use of cat award' Det er
Hehe
> selvfølgelig helt unødvendigt at bruge cat her. Følgende er lige så
> godt:
>
> xargs cp -Rpu --target-dir /somewhere <<EOL /etc/fil1
> /etc/fil2
> /home/bruger1/.fil1rc
> /home/bruger1/.fil2rc
> EOL
Den vil jeg gemme. Indtil videre fungerer din funktion perfekt!
Kan man i samme command skrive flere filer der skal kopieres eller skal
hver enkelt deles op på linie?
--
Martin Johansen [6000]
http://tuxx.dk - "Carpe Aptenodytes!"
Mandrake Linux 9.2 med Fluxbox 0.9.6devel
Registered Linux User # 301406 ( http://counter.li.org)
| |
Peter Makholm (12-04-2004)
| Kommentar Fra : Peter Makholm |
Dato : 12-04-04 11:31 |
|
"Martin Johansen [6000]" <visit_my@website.invalid> writes:
> Kan man i samme command skrive flere filer der skal kopieres eller skal
> hver enkelt deles op på linie?
Ikke hvis du bruger min funktion direkte. Så skal den lige ændres en
lille smule:
function mycp() {
cp "$@" bar
}
Så kan man skrive
mycp foo baz quux xyzzy plugh
og få alle filerne kopieret ind i bar.
--
Peter Makholm | The four letter word beginning with L?
peter@makholm.net | It's life, love, libc or lisp
http://hacking.dk | -- Depending on you point of view
| |
Martin Johansen [600~ (12-04-2004)
| Kommentar Fra : Martin Johansen [600~ |
Dato : 12-04-04 11:59 |
|
On Mon, 12 Apr 2004 12:30:43 +0200, Peter Makholm wrote:
> Ikke hvis du bruger min funktion direkte. Så skal den lige ændres en
> lille smule:
>
> function mycp() {
> cp "$@" bar
> }
> }
> Så kan man skrive
Den sidste "tuborg" har jeg været nødsaget til, at fjerne da den melder
fejl ellers.
> mycp foo baz quux xyzzy plugh
>
> og få alle filerne kopieret ind i bar.
Genialt! Jeg gætter på det også gælder mapper?
--
Martin Johansen [6000]
http://tuxx.dk - "Carpe Aptenodytes!"
Mandrake Linux 9.2 med Fluxbox 0.9.6devel
Registered Linux User # 301406 ( http://counter.li.org)
| |
Martin Johansen [600~ (12-04-2004)
| Kommentar Fra : Martin Johansen [600~ |
Dato : 12-04-04 12:06 |
|
On Mon, 12 Apr 2004 12:58:58 +0200, Martin Johansen [6000] wrote:
> Genialt! Jeg gætter på det også gælder mapper?
Og det gør det
Det fungerer bare perfekt!
Du skal have mange tak for hjælpen Peter!
Drevet af nysgerrighed, hvor man man læse mere om "programmering" af
sådanne scripts?
Jeg havde engang et hæfte omkring .bat-filer. Findes tilsvarende til
bash-scripts?
--
Martin Johansen [6000]
http://tuxx.dk - "Carpe Aptenodytes!"
Mandrake Linux 9.2 med Fluxbox 0.9.6devel
Registered Linux User # 301406 ( http://counter.li.org)
| |
Mikkel Bundgaard (12-04-2004)
| Kommentar Fra : Mikkel Bundgaard |
Dato : 12-04-04 12:20 |
| | |
Martin Johansen [600~ (12-04-2004)
| Kommentar Fra : Martin Johansen [600~ |
Dato : 12-04-04 16:13 |
| | |
Jens Andersen (12-04-2004)
| Kommentar Fra : Jens Andersen |
Dato : 12-04-04 12:35 |
|
"Martin Johansen [6000]" <visit_my@website.invalid> writes:
> On Mon, 12 Apr 2004 12:58:58 +0200, Martin Johansen [6000] wrote:
>
> Drevet af nysgerrighed, hvor man man læse mere om "programmering" af
> sådanne scripts?
Der er en udmærket guide her:
http://freealter.org/doc_distrib/bash-2.04/abs-0.4/
--
Mvh. Jens Andersen,
Registered Linux user #293986, http://counter.li.org
| |
Martin Johansen [600~ (12-04-2004)
| Kommentar Fra : Martin Johansen [600~ |
Dato : 12-04-04 16:14 |
| | |
|
|