Bash script probleempje

Alles over programmeren in Linux
Bauke
Nieuweling
Nieuweling
Berichten: 3
Lid geworden op: Zo 26 Dec 2010, 23:27

Bash script probleempje

Berichtdoor Bauke » Do 22 Nov 2018, 23:15

Hallo forumleden,
Ik probeer het volgende werkend te krijgen:

renfunc() {
ext=${1:-"*.[mMkKvV]"}
zoek=${2:-"e\."}
vervang=${3:-"0"}
for f in -$ext; do rename 's/$($zoek)/$($vervang)/' * ; done
}

Het is de bedoeling dat het eerste argument de extensie is en indien niet gegeven dan moet worden gezocht naar .mkv. De zoek-string is het tweede argument etc.
Het is of alle drie meegeven of niets .... kan misschien ook nog anders.. TIPS?

Maar ik krijg de volgende fouten:
Global symbol "$zoek" requires explicit package name (did you forget to declare "my $zoek"?) at (user-supplied code).
Global symbol "$vervang" requires explicit package name (did you forget to declare "my $vervang"?) at (user-supplied code).

De laatste regel klopt dus iets niet. Maar wat?

Alvast bedankt voor de hulp

Bauke
Gebruikersavatar
Joan
Forumbeheerder
Forumbeheerder
Berichten: 1307
Lid geworden op: Do 16 Feb 2012, 00:49
Contact:

Re: Bash script probleempje

Berichtdoor Joan » Di 04 Dec 2018, 21:47

Variabelen moet je declareren (omschrijven voor je ze kan gebruiken tekst, getal of boolian).
Wil je een duidelijk antwoord? Stel dan een duidelijke vraag. , Kijk hoe dat moet bij Tips voor forumberichten.
Wil je een afbeelding plaatsen?. Kijk hoe dat kan bij Tip voor het plaatsen van afbeeldingen.

Terug naar “Programmeren”

Wie is er online

Gebruikers op dit forum: Geen geregistreerde gebruikers en 4 gasten