Portál AbcLinuxu, 12. května 2025 07:47

Dotaz: Nefunguje jednoduchy BASH script, kde je chyba ?

9.3.2011 10:47 Keni
Nefunguje jednoduchy BASH script, kde je chyba ?
Přečteno: 300×
Odpovědět | Admin
Dobry den,
chtel bych se zeptat proc nefunguje tento bash script. Potrebuji z nekoliak souboru vybrat jen urcitou cast. Zkousel jsem to i jato cat$ ${mojefilename} |head -n 53 a take bez uspechu. Teda doufam, ze to neni chyba cygwinu, ale nejaka moje.
Dekuji

#!/bin/bash

if [ "$1" ]; then mojefilename=$1; echo "NIC"; fi
echo ${mojefilename}
head -n 53 ${mojefilename}
tail +398 ${mojefilename}

exit 0

Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

9.3.2011 11:00 kip
Rozbalit Rozbalit vše Re: Nefunguje jednoduchy BASH script, kde je chyba ?
Odpovědět | | Sbalit | Link | Blokovat | Admin
Nemělo by náhodou být "tail -n +398 ..."?
9.3.2011 11:05 kip | skóre: 8 | blog: kip | Nový Jičín
Rozbalit Rozbalit vše Re: Nefunguje jednoduchy BASH script, kde je chyba ?
A ještě něco. Proč je tam "echo "NIC";"? Nemělo by tam být spíše "else echo "NIC"; exit 1;" nebo něco podobného?
9.3.2011 11:27 Keni
Rozbalit Rozbalit vše Re: Nefunguje jednoduchy BASH script, kde je chyba ?
Odpovědět | | Sbalit | Link | Blokovat | Admin
S tim else mate pravdu. tail jsem nikdy nepouzival a nasel ho bez -n, ale i tak funguje. Dle man opravdu s -n Ale porad nic.

vypisuje to chybu:
line2: '$'\r'': command not found
line3: syntax error near unspected token '$'\r''
line3: if [ "$testvar" ]; then mojefilename=$1; else echo "NIC"; fi


Zacinam se obavat, ze mozna Cygwin neumi parametry. Mohl by nekdo poradit s tim, jak to prepsat do roury? Neverim tomu, ze by toto fungovalo.
ls *.info | read nazev; head -n 53 ${nazev}>new${nazev}; tail -n +398 ${nazev} >>new${nazev}
9.3.2011 11:39 kip | skóre: 8 | blog: kip | Nový Jičín
Rozbalit Rozbalit vše Re: Nefunguje jednoduchy BASH script, kde je chyba ?
Nejsou v tom skriptu Windowsovske konce řádků? Na to by pomohlo "dos2unix soubor_se_skriptem".
9.3.2011 12:18 Keni
Rozbalit Rozbalit vše Re: Nefunguje jednoduchy BASH script, kde je chyba ?
Odpovědět | | Sbalit | Link | Blokovat | Admin
To bylo ono, DEKUJI mnnohokrate. Toto me opravdu nenapadlo a ja se tim uz trapim pekne dlouho. Pouzivam PSPad, takze nastesti prevedeni do UNIX formatu bylo okamzite.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.