Bash script probleempje

Alles over programmeren in Linux
Bauke
Nieuweling
Nieuweling
Berichten: 2
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
LMNLVip
LMNLVip
Berichten: 2152
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.

Terug naar “Programmeren”

Wie is er online

Gebruikers op dit forum: Geen geregistreerde gebruikers en 1 gast