Sida 1 av 1

Ett script-problem (LÖST)

Postat: 16 apr 2009, 16:15
av foringmar
Följande lilla script fungerar inte

# !/bin/sh

# This is a generic script head

cat /home/ingmar/xxx/xxxxxxxx.txt | sudo -S -- mv -fv -t /media/IOMEGA_HDD/old/tar_home/ /media/IOMEGA_HDD/tar_home/mbackup*


Det svarar:

mv: kan inte ta status på "/media/IOMEGA_HDD/tar_home/mbackup*\r": Filen eller katalogen finns inte

Det är lögn! Jag har massor med mbackup* filer på det stället.
Var kommer *\r ifrån?
Vad är fel?

Re: Ett script-problem

Postat: 16 apr 2009, 16:40
av andol
Gissar att \r åsyftar ett "carriage return".

Inte så att du har redigerat skriptet på ett Windowssystem? *nix och Windows hanterar nämligen det där med radbryten på lite olika sätt.

Lättaste sättet, oavsett orsak, är antagligen att redigera skriptet direkt på Linux-systemet och backspace några tecken från slutet på raden. Kanske vill du till och med börja backspacandet på raden nedanför för säkerhets skull. Sen fyller du på på nytt med de (synliga) tecken du raderat.

Blev det där jättesnurrigt, eller hänger du med på hur jag menar? :)

Re: Ett script-problem

Postat: 16 apr 2009, 19:31
av foringmar
Jag får nog erkänna att jag inte begriper hur det kan ha kommit till ett CR på det där stället. Skriptet har aldrig varit i en Windows maskin. Det är gjort från början till slut på en Ubuntu-dator med textredigeraren.

Jag gjorde som du föreslog och raderade några tecken med backspace och skrev in dem på nytt. Med textredigeraren. Det verkade fungera. Jag skall testa lite till innan jag deklarerar problemet löst.

Tack!