02.03.2013, 16:04
(Tento příspěvek byl naposledy změněn: 02.03.2013, 16:41 uživatelem Klofkac. Edited 7 times in total.)
Tak jo, posílám ještě jednu kuriozitu:
Před nějakou dobou jsem si hrál s BAT soubory. Vytvořil jsem BAT s obsahem podobném tomuto:
Fungovalo to tak jak jsem chtěl.
Potom jsem však nabootoval do linuxu a znovu jsem spustil ten soubor. Kromě toho, že mi to vyhodilo pár chyb, že cls a pause není příkaz, vyvořilo mi to soubor s názvem "nul". Po rebootnutí do windowsů jsem s tím souborem nemohl vůbec nic dělat. Nešel otevřít, přejmenovat, přesunout, zkopírovat, smazat...
Dokonce nefungovalo ani "del //./d:/batchtesty/nul".
Vysvětlení?
Ten soubor nebyl "nul", ale "nul(CR)". Windows používá na nový řádek dva znaky, (CR/0x0D)(LF/0x0A), zatímco linux jen LF. Shell linuxu přečetl CR jako normální znak a přidal ho do jména souboru. Windows to však bral jako nový řádek. No, a zkuste udělat soubor s novým řádkem v příkazovém řádku.
Tohle jsem udělal potom na cizím počítači, ale místo nul jsem napsal "You've been trolled!"
Před nějakou dobou jsem si hrál s BAT soubory. Vytvořil jsem BAT s obsahem podobném tomuto:
Kód:
echo off
cls
echo Hi, if you are ready, press any key.
pause > nul
cls
echo Troll'd!
Potom jsem však nabootoval do linuxu a znovu jsem spustil ten soubor. Kromě toho, že mi to vyhodilo pár chyb, že cls a pause není příkaz, vyvořilo mi to soubor s názvem "nul". Po rebootnutí do windowsů jsem s tím souborem nemohl vůbec nic dělat. Nešel otevřít, přejmenovat, přesunout, zkopírovat, smazat...
Dokonce nefungovalo ani "del //./d:/batchtesty/nul".
Vysvětlení?
Ten soubor nebyl "nul", ale "nul(CR)". Windows používá na nový řádek dva znaky, (CR/0x0D)(LF/0x0A), zatímco linux jen LF. Shell linuxu přečetl CR jako normální znak a přidal ho do jména souboru. Windows to však bral jako nový řádek. No, a zkuste udělat soubor s novým řádkem v příkazovém řádku.
Tohle jsem udělal potom na cizím počítači, ale místo nul jsem napsal "You've been trolled!"
Sorry, but Derpy saved my signature to /dev/null!