Podivne (ne)spousteni skriptu Tcl
Alexandr Malusek
malusek na hroch.ujf.cas.cz
Úterý Prosinec 26 14:18:39 CET 2000
"Aleš Nehyba" <neal na cbox.cz> writes:
> ve Win jsem si vytvoril maly skript pro Tcl/Tk, ktery jsem si pote prenesl
> pod Linux. Zmenil jsem pristupova prava souboru (754) a zkusil spusit.
> Shell zahlasil, ze dany soubor neexistuje.
Pravdepodobne jste nezmenil DOS-ove konce radku (CR LF, '\r' '\n' v C)
na Unixove (LF, '\n' v C). Znak CR pak byl chapan jako soucast jmena
interpretru a takovy samozrejme v systemu neexistuje.
Priklad:
$ ls -l s1
-rwxr-xr-- 1 malusek users 34 Dec 26 16:52 s1
$ cat s1
#!/bin/bash
echo "Hello world."
$ ./s1
bash: ./s1: No such file or directory
$ od -c s1
0000000 # ! / b i n / b a s h \r \n e c h
0000020 o " H e l l o w o r l d . "
0000040 \r \n
0000042
Pro konverzi koncu radek jsou napr. v SuSE 7.0 definovane aliasy
alias dos2unix='recode ibmpc..lat1'
alias unix2dos='recode lat1..ibmpc'
V jinych distribucich existuji podobne nastroje.
--
A. Malusek (malusek na ujf.cas.cz)
UJF AV CR
Další informace o konferenci Linux