Nieuws:

Welkom, Gast. Alsjeblieft inloggen of registreren.
Heb je de activerings-mail niet ontvangen?

Auteur Topic: simpel script werkt niet  (gelezen 1171 keer)

Offline ivo

  • Lid
  • Steunpunt: Nee
simpel script werkt niet
« Gepost op: 2006/05/24, 22:40:18 »
Hallo Ubuntuers,

Het volgende in mijn ogen simpele (en op andere UNICES wel werkend) script acteert enigszins vreemd:

inaninck@renault:~/download$ cat /usr/local/bin/weg.sh
DIR=/home/inaninck/download/
rm -v $DIR/*.1
rm -v $DIR/*.2
rm -v $DIR/*.m3u
rm -v $DIR/*.nfo
rm -v $DIR/*.sfv
rm -v $DIR/*.par2
rm -v $DIR/*.PAR2
rm -v $DIR/*.cue
rm -v $DIR/*.nzb
rm -v $DIR/*.rar
rm -v $DIR/*.txt
inaninck@renault:~/download$

genereert het volgende (let op de "\r" meldingen.

Let wel: met "set list" in vi zie ik geen rare karakters ofzo en dit script werkte voorheen op Fedora zonder enig probleem.

inaninck@renault:~/download$ weg.sh
rm: cannot remove `/home/inaninck/download/\r/*.1\r': No such file or directory
rm: cannot remove `/home/inaninck/download/\r/*.2\r': No such file or directory
rm: cannot remove `/home/inaninck/download/\r/*.m3u\r': No such file or directory
rm: cannot remove `/home/inaninck/download/\r/*.nfo\r': No such file or directory
rm: cannot remove `/home/inaninck/download/\r/*.sfv\r': No such file or directory
rm: cannot remove `/home/inaninck/download/\r/*.par2\r': No such file or directory
rm: cannot remove `/home/inaninck/download/\r/*.PAR2\r': No such file or directory
rm: cannot remove `/home/inaninck/download/\r/*.cue\r': No such file or directory
rm: cannot remove `/home/inaninck/download/\r/*.nzb\r': No such file or directory
rm: cannot remove `/home/inaninck/download/\r/*.rar\r': No such file or directory
rm: cannot remove `/home/inaninck/download/\r/*.txt\r': No such file or directory
inaninck@renault:~/download$

Al dit feestelijks gebeurt onder
inaninck@renault:~/download$ bash --version
GNU bash, version 3.00.16(1)-release (i486-pc-linux-gnu)
Copyright (C) 2004 Free Software Foundation, Inc.
inaninck@renault:~/download$

Wanneer ik op de 1e regel van het script
#!/bin/sh
zet gebeurt exact hetzelfde.

Iemand een hint?

Bij voorbaat dank!

Ivo Naninck
There are only 10 types of people in the world; those who understand binary and those who don't.

Offline zappa

  • Lid
    • http://www.c3c.be
  • Steunpunt: Nee
simpel script werkt niet
« Reactie #1 Gepost op: 2006/05/24, 23:11:21 »
Dat script probeert gewoon bestanden te verwijderen die niet aanwezig zijn op je systeem?
Backslashes worden gebruikt bij spaties?
Moet zoiets zijn.

Offline ivo

  • Lid
  • Steunpunt: Nee
simpel script werkt niet
« Reactie #2 Gepost op: 2006/05/24, 23:15:01 »
Ja, idd, moet zoiets zijn. Beschrijf "zoiets". Op andere UNICes werkt het wel.
De files staan er wel, anders zou ik toch geen script bakken om ze te verwijderen, toch? Hamvraag is "Waar komt die \r vandaan???"

Groeten.
There are only 10 types of people in the world; those who understand binary and those who don't.

Offline zappa

  • Lid
    • http://www.c3c.be
  • Steunpunt: Nee
simpel script werkt niet
« Reactie #3 Gepost op: 2006/05/25, 00:02:36 »
Bij bv. rm -v $DIR/*.1
Staat die / daar niet teveel?

Offline kennywest

  • Lid
    • http://kennywest.blogspot.com
  • Steunpunt: Nee
simpel script werkt niet
« Reactie #4 Gepost op: 2006/05/25, 08:52:09 »
\r? Wacht, laat me raden. Dit script gemaakt in notepad?

Offline Dennis Kaarsemaker

  • Administrator
    • dennis
    • http://www.kaarsemaker.net
  • Steunpunt: Nee
simpel script werkt niet
« Reactie #5 Gepost op: 2006/05/25, 13:43:08 »
Haal het script eens door dos2unix. Je hebt nu dos line-endings en dat snapt linux niet.

Offline ivo

  • Lid
  • Steunpunt: Nee
simpel script werkt niet
« Reactie #6 Gepost op: 2006/05/27, 22:03:47 »
@kennywest && @dennis.

Nee, niet in notepad geschreven. Wel: het script in een e-mail aan mezelf op een hotmail account gestuurd om het later nadat ik Ubuntu had geinstalleerd het weer vanuit die e-mail te downloaden. AAAAAAAAArrrrggg, Microsoft....... zelfs je attachements vernaggelen ze dus nog....

inaninck@renault:~$ which dos2unix
inaninck@renault:~$
grrr...even goegelen........
inaninck@renault:~$ awk '{ sub("\r$", ""); print }' weg.sh > wegnew.sh

Dat werkt!!
Maar wat ik dan nog vreemd vind; ik herkende DOS-files altijd aan de ^M characters.....
There are only 10 types of people in the world; those who understand binary and those who don't.