AmigaDOS V.JAN HLAVATÝ
Tohle je poslední část seznamu příkazů AmigaDOSu, který jsem zde uváděl v
posledních několika dílech. V příštím díle se tedy konečně vrhneme na dávkové
soubory... RENAME
FROM/A/M, TO=AS/A, QUIET/S
Tímto příkazem je možné přejmenovat soubor nebo adresář, nebo jej dokonce v
rámci média přesunout někam jinam. Jak FROM tak TO se musí nacházet na tomtéž
médiu v opačném případě musíte daný objekt zkopírovat a původní smazat. FROM je
jméno původního adresáře nebo souboru (může být i s plnou cestou), TO je nové
jméno (Taktéž může být s cestou. Pokud je cesta v rámci média jinde, dojde k
přesunutí souboru nebo adresáře včetně jeho původního obsahu). Jako FROM může
být dokonce uvedeno víc souborů nebo adresářů, v takovém případě se předpokládá
že TO bude adresář a všechny objekty se přesunou do něj. Přepínač QUIET zakáže
průběžné vypisování při přesouvání více souborů do adresáře. REQUESTCHOICE
TITLE/A, BODY/A, GADGETS/M, PUBSCREEN/K
Tento příkaz je novinkou v OS3.0. Umožňuje z dávkového souboru použít standardní
systémový requester k výběru z několika možností. Argument TITLE je textový
řetězec který bude použit jako titulek okna requesteru. BODY je text který bude
zobrazen uvnitř requesteru. V textu můžete použít kombinaci „*N“ pro
reprezentaci konce řádku (tj. víceřádkový text). GADGETS je seznam gadgetů
voleb, které se mají na requesteru objevit. Jednotlivé možnosti jsou v řetězci
odděleny znakem „|“ (svislá čárka - ASCII 124, na klávesnici normálně hned vedle
backspace, se shiftem). Gadgety jotu očíslovány zleva doprava počínaje 1,
poslední gadget úplně vpravo má vždy číslo 0 (ekvivalent Cancel). Pokud zadáte
pouze jeden gadget, má vždy číslo 0. Argument PUBSCREEN udává jméno public
screenu (veřejné obrazovky) na které se má requester objevit. Pokud obrazovka
s tímto jménem neexistuje nebo není dostatek paměti pro vytvoření requesteru,
requester se neobjeví a příkaz vrátí chybový kód „nedostatek paměti“. Pokud vše
proběhne dobře, příkaz vypíše číslo gadgetu který uživatel zvolil. To lze využít
např. přesměrováním výstupu do souboru nebo ještě chytřeji k nastavení lokální
proměnné procesu pomocí příkazu SET a obrácených apostrofů. Použitím tohoto
příkazu v dávkových souborech se budeme zabývat později. REQUESTFILE
DRAWER, FILE/K, PATTERN/K, TITLE/K, POSITIVE/K, NEGATIVE/K, ACCEPTPATTERN/K,
REJECTPATTERN/K, SAVEMODE/S, MULTISELECT/S, DRAWERSONLY/S, NOICONS/S,
PUBSCREEN/K
Tento příkaz je velice podobný příkazu REQUESTCHOICE, umožňuje použít v
dávkových souborech standardní file requester pro výběr nějakého souboru nebo
adresáře. Argumentem DRAWER nastavíte adresář, ve kterém se budete v requesteru
nalézat po jeho objevení. Pomocí argumentu FILE můžete přednastavit také jméno
souboru. PATTERN aktivuje použití patternu pro filtrování zobrazených položek a
nastaví pattern na zadanou hodnotu, kterou pak může uživatel tměnu. TITLE
nastavuje titulek requesteru. POSITIVE mění text levého (potvrzovacího) gadgetu
(obvykle OK), NEGATIVE zase mění text pravého (stornovacího) gadgetu. Poslední
možnost se týká pouze originální asl.library, pokud používáte RTPatch, nejde
text „Cancel“ změnit. ACCEPTPATTERN a REJECTPATTERN poskytují další možnosti
omezení zobrazení jen na některé soubory/adresáře. ACCEPTPATTERN je pattern
který musí splňovat jméno adresáře nebo souboru, aby bylo povoleno jeho
zobrazení. REJECTPATTERN zase udává pattern, jemuž odpovídající objekty budou ze
zobrazení vyřazeny. Tyto podmínky se kombinují, takže zobrazené jméno musí
odpovídat prvnímu patternu a zároveň nesmí odpovídat druhému patternu. SAVEMODE
aktivuje tzv. „save“ mód requesteru, tj. u standardního asl file requesteru se
seznam souborů vykreslí v jiné barvě a zakáže se výběr souboru dvojím
nakliknutím. Navíc, pokud zadaný adresář neexistuje, bude vám v save módu
nabídnuto jeho vytvoření. MULTISELECT aktivuje možnost vybrání více souborů
najednou pomocí stisknuté klávesy SHIFT při výběru. DRAWERSONLY přepne do módu
výběru adresáře - nejsou zobrazovány soubory. NOICONS vypne zobrazování souborů
ikon (#?.info). PUBSCREEN udává jméno public screen na které sc má requester
objevit - funguje stejně jako v REQUESTCHOICE. Výsledkem výběru je vypsání jmen
vybraných souborů v uvozovkách, oddělených mezi sebou mezerami (samozřejmě že
jen v případě výběru více souborů najednou - jinak je vypsáno jen jedno jméno).
Pokud se requester nepodařilo otevřít nebo pokud uživatel requester zrušil,
nastaví příkaz chybový kód. RESIDENT
NAME, FILE, REMOVE/S, ADD/S, REPLACE/S, PURE=FORCE/S ,SYSTEM/S
Tento příkaz slouží ke správě trvalého umístění vhodných programů do paměti RAM,
takže jsou okamžitě k dispozici. Výhodou tohoto způsobu umístění v paměti je, že
příkazy se nenačítají pokaždé znovu z disku a při vícenásobném spuštění programu
(najednou) se používá stále tentýž kód programu v paměti, což výrazně šetří
paměť. Program takto použitelný musí ale splňovat jisté podmínky tak, aby při
případném vícenásobném současném spuštění stejného programu v paměti nemohlo
dojít ke kolizi. Programy vhodně pro rezidentní umístění v paměti mívají
nastaven atribut souboru „P“ (pure - čistý). Jak jsem už jednou říkal, Escom
bohužel zřejmě zapomněl nastavit tyto bity na systémových disketách OS3.1...
Argumenty příkazu RESIDENT jsou následující: NAME je jméno příkazu pod kterým
bude uložen v paměti, FILE je jméno souboru s programem. REMOVE znamená, že
chcete program z paměti odstranit. ADD znamená přidat další kopii souboru pod
jiným jménem NAME. REPLACE nahradí případně již v paměti umístěný program se
stejným jménem novým. Volba SYSTEM při vkládání příkazu do paměti označí tento
za část systému a zakáže jeho odstranění. Pokud příkaz RESIDENT uvedete bez
parametrů, vypíše seznam všech v paměti umístěných rezidentních programů a u
každého z nich „use count“, což je počet procesů které kód programu právě
používají. Logicky nelze z paměti odstranit kód programu který zrovna běží -
pomocí REMOVE jde tedy odstranit jen program jehož use count je 0. Programy
umístěné v ROM místo na disku mají místo use count klíčové slovo INTERVAL.
Podobně programy označené jako SYSTEM zde mají klíčové slovo SYSTEM. SYSTEM
programy se normálně nevypisují. Pokud je chcete také vypsat, musíte při výpisu
specifikovat klíčové slovo SYSTEM. Volba PURE nebo FORCE slouží k vynucení
umístění programu do paměti i když nemá nastaven atribut souboru „P“. To však,
jak jistě tušíte, není zrovna dobrý nápad, pokud si nejste absolutně jisti že
program takovéto zacházení přežije... Příkaz RESIDENT lze s výhodou použít
například u BBS software, kde pro každý připojený modem musí běžet samostatný,
mnohdy i dost velký program - pokud se uloží rezidentně do paměti, všechny
běžící kopie programu používají tentýž kód programu a alokují si paměť jen pro
svoje data. RUN
COMMAND/F
Příkaz RUN složí ke spuštění příkazu pomocí nového, nezávislého procesu dosu,
tj. asynchronně. Tento nový proces zdědí standardní vstup/výstup procesu ze
kterého byl volán, tj. pokud bude nový příkaz běžet, nepůjde například zavřít
okno původního procesu (protože je stále používáno novým). K odstranění tohoto
efektu přesměrujte vstup/výstup příkazu RUN např. do NIL: nebo nového okna.
Obecně se moc neví, že příkazem RUN je možno spustit i víc příkazů najednou -
což se podobá dávkovému souboru. Na konec příkazového řádku s RUN napíšete znak
„+“ a řádek odešlete. Příkaz se však nespustí a další následující vkládaný řádek
se považuje za další příkaz který má RUN spustit - a to tak dlouho, dokud se na
konci řádku nepřestane vyskytovat znak „+“. Poté je celé provádění příkazů
spuštěno v pořadí, v jakém byly příkazy zadávány. SEARCH
FROM/M, SEARCH/A, ALL/S, NONUM/S, QUIET/S, QUICK/S, FILE/S, PATTERN/S
Tento příkaz slouží k vyhledávání nějakého textu v souborech nebo k hledání
souboru s nějakým jménem. FROM je obvykle jméno adresáře s prohledávanými
soubory nebo jméno jednoho konkrétního souboru. SEARCH je pak hledaný text,
pattern reprezentující hledaný text, nebo pattern či jméno hledaného souboru.
Pokud hledáte text uvnitř souborů, vypisují se čísla řádků na kterých byl text
nalezen a celé tyto řádky. Pomocí NOVUM se zakáže vypisování čísel řádků. ALL
při prohledávání adresáře aktivuje rekurzivní prohledávání i vnořených adresářů.
QUIET zakáže průběžné vypisování jmen prohledávaných souborů/adresářů. QUICK
zapne pro uživatele poněkud příjemnější způsob vypisování těchto údajů bez
neustálého scrollování. FILE přepíná do módu hledání souboru - FROM je pak
prohledávaný adresář, SEARCH je pattern nebo jméno souboru. PATTERN přepíná při
hledání textu v souborech vyhledávání pomocí patternu (SEARCH je normálně brán
jako text, s PATTERN je brán jako - překvapení - pattern). Pokud nebyl hledaný
objekt nalezen. návratový kód je nastaven na 5 (warn). SET
NAME, STRING/F
Příkaz SET umožňuje nastavování lokálních proměnných procesu shellu. Bez
argumentů vypíše seznam všech existujících proměnných i s jejich obsahem.
Argument NAME je jméno lokální proměnné, argument STRING je řetězec znaků který
bude do proměnní uložen. SETCLOCK
LOAD/S, SAVE/S, RESET/S
Tento jednoúčelový příkaz slouží k ovládání baterií zálohovaných hodin. Můžete
použít jednu z funkcí LOAD pro načtení času z baterií zálohovaných holin do
interních hodin počítače. SAVE pro uložení aktuálního času do zálohovaných hodin
a RESET pro vynulování zálohovaných hodin. SETDATE
FILE/A, WEEKDAY, DATE, TIME, ALL/S
Slouží k nastavení datumu a času souboru. FILE je jménu souboru nebo adresáře.
Bez uvedení datumu a času se nastaví datum a čas na ten aktuální. Přepínač ALL
nastaví datum i u souborů uvnitř adresářů. SETENV
NAME, STRING/F
Podobně jako příkaz SET nastavuje lokální proměnné, příkaz SETENV nastavuje
proměnní globální. SETFONT
NAME/A, SIZE/N/A, SCALE/S, PROP/S, ITALIC/S, BOLD/S, UNDERLINE/S
Tento příkaz nastavuje font použitý v daném okně shellu. NAME je jméno fontu
(bez .font), SIZE je velikost fontu, SCALE povolí vytvoření nového fontu o
neexistující velikostí zvětšením jinak velkého fontu se stejným jménem. PROP
povolí použití proporcionálního fontu (což však nevypadá moc dobře při editaci
příkazového řádku). ITALIC, BOLD a UNDERLINE mění vzhled použitého fontu. SETKEYBOARD
KEYMAP/A
Tento příkaz nastaví typ klávesnice pro dané okno shellu. Argumentem je jméno
souboru s klávesnicí, který je uložen standardně v DEVS:Keymaps. Uvědomte si, že
změna klávesnice je lokální - pokud chcete zmínit klávesnici používanou pro celý
systém, musíte to udělat pomocí Input preferencí. SETPATCH
QUIET/S, NOCACHE/S, REVERSE/S, NOAGA/S
Testu příkaz instaluje opravní rutiny pro chyby v systémové ROM a stará se o
některé věci které potřebují ošetřit - například nastavení módu cache u
novějších procesoru, nahraní kódu emulujícího složitější instrukce FPU na 68040
a výše a pod. Měl by ve spouštět jen jednou jako první věc při bootování systému
vo startup-sequenci. QUIET zakáže vypisování seznamu instalovaných patchů,
NOCACHE zakáže aktivaci datové cache na 68030+, REVERSE nařídí aby SetPatch
používal paměť od konce (užitečné jen na starých CDTV systémech). NOAGA nepovolí
nové AGA grafické módy systém se chová jako by měl jen ECS. SKIP
LABEL, BACK/S
Přeskočí zpracování příkazů v dávkovém souboru na řádek označený návěstím LABEL.
Návěstí se vkládají pomocí příkazu LAB. Normálně ve návěstí hledá od příkazu
SKIP dále, pokud chcete skočit zpátky, použijte přepínač BACK - pak se návěstí
bude hledat od začátku dávkového souboru. SORT
FROM/A, TO/A, COLSTART/K, CASE/S, NUMERIC/S
Tímto příkazem je možno setřídit řádky textového souboru podle abecedy nebo
podle číselné hodnoty. FROM je zdrojový textový soubor, TO je cílový textový
soubor do kterého bude zapsán utříděný obsah zdrojového souboru. COLSTART udává
sloupec, kterým počínaje se text řádku zúčastňuje třídění. CASE zapíná
rozlišování mezi velkými a malými písmeny. NUMERIC zapíná číselné třídění -
počínaje prvním vyhodnocovaným znakem se načítá číselná hodnota, podle které se
bude třídit. Načítání číselní hodnoty končí prvním nenumerickým znakem. STACK
SIZE/N
Pomocí tohoto příkazu se nastavuje aktuální velikost zásobníku. Veškeré další
příkazy provedené v tomto procesu shellu budou mít k dispozici zásobník o zadané
velikostí. Taktéž veškeré nové procesy spuštěné z tohoto procesu shellu zdědí
tuto velikost zásobníku. Implicitní hodnota zásobníku je 4096 bajtů.
Nedostatečná velikost zásobníku může u programů které si nekontrolují velikost
zásobníku vést až ke zhroucení systému. STATUS
PROCESS/N, FULL/S, TCB/S, CLI=ALL/S, COM=COMMAND/K
Příkaz STATUS umožňuje získat přehled o právě běžících procesech Shellu. PROCESS
udává identifikační číslo procesu shellu - pokud není uvedeno, vypíší se všechny
procesy. FULL - vypíše všechny informace o procesech: číslo procesu. velikost
zásobníku (stk), velikost globálního vektoru (gv), prioritu procesu (pri) a
jméno právě spuštěného příkazu. TCB - vypíše jen velikost zásobníku, globálního
vektoru a prioritu. COMMAND umožňuje vyhledání čísla procesu pomocí jména
spuštěného příkazu. Pokud chcete vyhledat procesy bez spuštěného příkazu,
zadejte jako jméno prázdný řetězec „“. Vypisují se všechna čísla odpovídající
zadanému jménu. TYPE
FROM/A/M, TO/K, OPT/K, HEX/S, NUMBER/S
Tímto příkazem je možné vypsat si obsah nějakého souboru do okna shellu nebo do
jiného souboru. FROM jsou jména vypisovaných souboru. TO je případně jméno
výstupního souboru. OPT je zle jen kvůli kompatibilitě se starými verzemi
systému. HEX vypíše obsah souboru hexadecimálně (vhodné pro binární soubory).
NUMBER při vypisování v textové formě vypisuje i čísla řádků zdrojového souboru. UNALIAS
NAME
Zruší alias vytvořený příkazem ALIAS. NAME je jméno zkratky, bez uvedení jména
vypíše seznam definovaných zkratek. UNSET
NAME
Zruší lokální proměnnou procesu vytvořenou příkazem SET. NAME je jméno lokální
proměnné, bez jeho uvedení vypíšu všechny lokální proměnné. UNSETENV
NAME
Zruší globální proměnnou vytvořenou příkazem SETENV. NAME je jméno globální
proměnné, bez jeho uvedení vypíše všechny globální proměnné. VERSION
NAME, VERSION/N, REVISION/N, FILE/S, FULL/S, UNIT/N, INTERNAL/S, RES/S
Tento příkaz je součástí systému správy verzí v systému. Jeho pomocí lze zjistit
číslo verze případně datum kompilace různých souborů a objektů. Příkaz VERSION
je uchopen rozpoznat čísla verzí uložená v datových strukturách objektů
nacházejících se v paměti, jako jsou knihovny (.library), zařízení execu
(.device) a zdroje (.resource) a umí také prohledávat soubory uložené na disku.
ve kterých hledá speciální značky udávající název, verzi a datum kompilace
objektu („$VER:“). Pokud je VERSION spuštěn bez parametrů, vypíše verzi
Kickstartu a Workbenche a vytvoří také lokální proměnné Kickstart a Workbench
které obsahují čísla jejich verzí. Umí také zkontrolovat verzi nějakého objektu
a v případě že je objekt starší verze než je zadaná mez nastavit návratový kód
na 5 (warn). NAME je jméno daného objektu. Může se jednat buď o objekt umístěný
v paměti (knihovny, zařízení, resource, programy uložené rezidentně do paměti
příkazem RESIDENT, dokonce i zařízení dosu) nebo o soubor. První se hledají
objekty v paměti - pokut tedy chcete zkontrolovat například verzi knihovny která
je jak na disku tak v paměti, musíte specifikovat klíčové slovo FILE pokud
chcete zjistit verzi knihovny na disku. Pokut jsou specifikovány argumenty
VERSION a REVISION, udávají minimální přijatelnou verzi objektu. FULL vypíše
všechny informace, tj. včetně data vytvoření objektu. UNIT slouží k dodatečné
specifikaci čísla jednotky při zjišťování verze device. INTERNAL vyhledává
interní příkazy shellu, RES příkazy uložené rezidentně. Pomocí INTERNAL lze také
při kontrole verze knihovny zjistit její verzi bez otevření této knihovny. WAIT
/N, SEC=SECS/S, MIN=MINS/S, UNTIL/K
Tímto příkazem lze provést čekání. Buďto je možné čekat zadaný počet
minut/vteřin, nebo je možné čekat až hodiny reálného času dosáhnou zadaného času
(v hodinách:minutách). Tento druhý způsob se specifikuje klíčovým slovem UNTIL,
za nímž následuje čas ve formátu HH:MM. Čekání je možno kdykoliv přerušit pomocí
signálu BREAK (Ctrl-C). WHICH
FILE/A, NORES/S, RES/S, ALL/S
Tento příkaz doplňuje příkaz PATH o možnost zjištění, který že příkaz se tu
vlastně spustí, když je jeho konkrétní umístění nalezeno pomocí PATH. FILE je
jméno příkazu který hledáme. WITCH vypíše kde se tento příkaz nachází. Přitom
bere v úvahu i příkazy umístěné rezidentně do paměti. Tento příkaz lze použít i
ke zjištění zda se daný příkaz nachází někde v seznamu adresářů PATH - pokud tam
není, nastaví WHICH návratový kód na 5 (warn). Klíčová slova RES a NORES omezují
hledání na příkazy uložení rezidentně do paměti a na vše ostatní pomocí WHICH
lze tedy snadno zjistit zda je nějaký příkaz uložen rezidentně v paměti.
Tak to je všechno o příkazech AmigaDOSu. Pokud si zrovna nepamatujete jaké
argumenty má který příkaz, snadná pomoc: Místo argumentů napište otazník („?“).
Každý příkaz který podporuje standardní template musí v takovém případě vypsat
seznam argumentů - tj. template. Poté načítá argumenty ze standardního vstupu -
můžete tedy argumenty dopsat. Nebo se tato vlastnost dá využít jinak - pokud
máte argumenty uloženy v nějakém textovém souboru, je možné na příkazovém řádku
přesměrovat standardní vstup příkazu na tento soubor pomocí „<“ a jako argumenty
dát otazník. Příkaz si pak argumenty načte z tohoto souboru... Vytlačiť článok
Pozn.: články boli naskenované ako text a preto obsahujú aj zopár chýb. Taktiež neručíme za zdrojové kódy (Asm, C, Arexx, AmigaGuide, Html) a odkazy na web. Dúfame, že napriek tomu vám táto databáza dobre poslúži.
Žiadna časť nesmie byť reprodukovaná alebo inak šírená bez písomného povolenia vydavatela © ATLANTIDA Publishing
none
|