Välkommen till linuxportalen.se!

Linuxportalen.se är Sveriges största och aktivaste webbplats för användare av öppen- och fri programvara.

Du besöker Linuxportalen.se som gäst vilket begränsar din möjlighet att använda webbplatsens alla funktioner. Genom att registera dig som medlem får du inte bara möjlighet att söka bland webbplatsens innehåll, skapa nya och delta i befintliga diskussioner, skapa din egen blogg, kommunicera med andra medlemmar genom privata meddelanden och delta i omröstningar. Du får också tillgång till Veckans Kadavro - en seriestrip unikt skapad för Linuxportalen.se!

Registeringen sker snabbt och är helt kostnadsfri - tveka inte, bli medlem idag!

kan inte köra script!!

Detta är troligen mycket enkelt för de flesta men jag har kört huvudet i väggen.

I min ena linuxdator kör jag några script sedan länge och tänkte göra samma sak i dator nr 2. Men något så enkelt klarar jag inte av i andra datorn. Jag kör samma dist. med samma paket installerade vad jag kan se. Scriptet create_ny2.sh ser ut så här och ska bara skapa en fil.

#!/bin/bash
# Script to create rrd-file
# 24h width 2,5 min resolution
# 7d with 5 min resolution
# 1y with 10 min resolution
# 20y with 1h resolution
directory="/home/rrd/rrddata/"
filename="ny2.rrd"
# Check i file already exists
if [ ! -f "$directory$filename" ]
then
    # File doesn't exist, create new rrd-file
    echo "Skapar RRDtool DB ny2temp"
    rrdtool create $directory$filename \
         --step 150 \
         DS:ny2temp:GAUGE:300:-50:60 \
         RRA:AVERAGE:0.5:1:576 \
         RRA:AVERAGE:0.5:2:2016 \
         RRA:AVERAGE:0.5:4:52560 \
         RRA:AVERAGE:0.5:24:175200 \
         RRA:MAX:0.5:1:5760 \
         RRA:MAX:0.5:2:2016 \
         RRA:MAX:0.5:4:52560 \
         RRA:MAX:0.5:24:175200 \
         RRA:MIN:0.5:1:5760 \
         RRA:MIN:0.5:2:2016 \
         RRA:MIN:0.5:4:52560 \
         RRA:MIN:0.5:24:175200
    echo "Done!"
else
    echo $directory$filename" already exists, delete it first."
fi

Jag får svaret:

create_ny2.sh: 33: Syntax error: end of file unexpected (expecting "then")
root@debian1:/home/rrd/rrddata#

 

Rad 33 är blank, scriptet är ju slut där.

Jag inbillade mig att konsten att köra script hör till grundjobbet i linux. Har aldrig haft problem förr.

 

Alternativ för kommentarvisning

Välj ditt önskade sätt att visa kommentarerna och klicka på "Spara" för att verkställa dina ändringar.

FoHs bild

Kopierade ditt script och det körs utan problem (förutom att rrdtool inte finns förstås) här.

Skapas filen du vill åt?

snoopys bild

Hittat felet!!!

Det fanns en massa ^M i filen, vete f-n var det kommit från.

Antagligen från Filezilla som lassade över scripten från dator ett till dator två. Tog bort eländet med dos2unix.

Nu fungerar det fint.

 

Det är spritens fel att vi skjuter på svärmor..... och det är spritens fel att vi missar...