1

Temat: Historia linii poleceń.

Co prawda zgłaszałem ten pomysł już do DLT, ale jak widać mają oni dużo pracy na głowie i popędzać nie będę ;)

Otóż może ktoś czuje się na siłach napisać taki malusi, ale szalenie ułatwiający pracę dodatek do SDX. Marzy mi się bowiem historia wiersza poleceń taka jak np. w Bashu czy też cmd.exe w XP - po prostu np. za pomocą ctrl+shift+<strzałka w górę> wywołuje się ostatnią wpisaną komendę / wartość linii poleceń. Jak to ułatwia pracę nie muszę chyba pisać.

Byłoby fajnie jakby taka nakładka pozwalała zdefiniować ile chce się trzymać ostatnich wpisów - np. kilka dla posiadaczy małej ilości RAM, dużo dla posiadaczy np. 1MB :) Konfiguracja w CONFIG.SYS przykładowo: DEVICE history.sys <ile elementów> <bank XMS>.

Oczywiście jestem w stanie odwdzięczyć się na *najbliższym* (hehe) party w postaci kapslowanej względnie korkowanej ;)

Czy możecie wyjaśnić, Stirlitz, dlaczego wasz służbowy adres stirlitz@rsha.gov.de ma aliasa justas@gru.su?
Nie czytam PM. Proszę używać e-mail.

2

Odp: Historia linii poleceń.

Przydało by się, przydało...

Oprócz tego w pracy z DOSem przydatny jest czasami "more". Czy w Atari jest coś takiego? (+ strumienie?)

W csh są jeszcze -bardzo- przydatne funkcje historii:
"!!" - uruchamia poprzednią komendę
"!str" - uruchamia komendę z historii zaczynającą się od liter "str"

Inne to już wymagają pamiętania składni, więc nie są aż tak przydatne.

I'm not so bad, once you get to know me.

3

Odp: Historia linii poleceń.

najwspanialsze dla mnie z bash-a: <ctrl-r> czyli wyszukiwanie polecenia z historii (recall)

co do implementacji tego na atari - wydaje mi sie ze trzeba by do tego przerobic sterownik E: ale przez to by sie pewnie spoooro rozrosl...

a nie dziala przypadkiem taka "namiastka" jak przejscie kursorami do linii z poprzednim poleceniem po czym [return]?
oczywiscie nawet gdyby to dzialalo to na nic by sie zdalo przy programach plujacych duuuzo na ekran, badz go czyszczacym (np. poprzez zamkniecie/otworzenie CH#0)

The UNIX Guru`s view of Sex:
unzip; strip; touch; finger; mount; fsck; more; yes; umount; sleep

4

Odp: Historia linii poleceń.

amigowe ktores cli (a moze shell) bylo czadowe - tabulatorem otwieralo sie okienko z dodatkami ...

http://atari.pl/hsc/ad.php?i=1.

5

Odp: Historia linii poleceń.

Do Amigi można doinstalować też bash lub csh. Nie pamiętam, ale jak muszę coś shellować to używam (...chociaż nie jestem pewien czy potrzebnie, nie znam dobrze CLI...).

Ostatnio edytowany przez piotrv (2006-01-19 15:30:19)

I'm not so bad, once you get to know me.

6

Odp: Historia linii poleceń.

Nie trzeba przerabiać sterownika E: w tym celu, a command.com SDX, żeby nie czytał poleceń rekordami z edytora, ale znakami z klawiatury. Dalej już powinno pójść łatwo.

Ostatnio edytowany przez drac030 (2006-01-19 15:36:18)

KMK
? HEX$(6670358)

7

Odp: Historia linii poleceń.

ale przerobka (nowy ster obslugujacy fast screen + np. tryb 80 znakowy + edycja historii) uzadzenia E: byla by tu jaknajbardziej na miejscu...

dwie z poszczegolnych czesci (fast scree, 80 char wide) juz sa zaimplementowane w niektorych sterownikach, wiec moze ktos skleci to w calosc + doda obsluge historii?

ale cytujac KMK (lub wypowiadajac sie w jego mysl): szukasz chetnych do napisania tego? błuahahaha...

The UNIX Guru`s view of Sex:
unzip; strip; touch; finger; mount; fsck; more; yes; umount; sleep

8

Odp: Historia linii poleceń.

Właśnie kiedyś robiłem E: na 60 lub 80 kolumn :) Chyba w trybie graficznym (pewnie wolne by było w końcowym efekcie). Ale to dawno i nieprawda, i kod już dawno zaśmierdł (na taśmie).

Co do historii to chyba KMK ma rację - bardziej bym uderzał w kierunku procesora komend niż E:
To chyba bardziej ten poziom.

I'm not so bad, once you get to know me.

9

Odp: Historia linii poleceń.

No pewnie, że ten. Ingerencja w "E:" dałaby tyle, że przestałoby działać wszystko inne, co z "E:" korzysta, z BASIC-em na czele.

Taki mini-sterownik 64-kolumnowego edytora ma MAE (że już o SysInfo nie wspomnę). Wcale to nie jest wolne, wręcz przeciwnie. Tylko od metra pamięci zajmuje.

Ostatnio edytowany przez drac030 (2006-01-19 16:41:11)

KMK
? HEX$(6670358)

10

Odp: Historia linii poleceń.

co do efektywności i szybkości kodu dla wyświetlania 80 col w trybie GR.8 - polecam zabawe programikiem VIEW80 z pakietu ICE-T :)

ADRES: pin@atari.pl - konto zlikwidowane. Aktualny adres: pin(at)atari8.info

11

Odp: Historia linii poleceń.

pin: exactly o tym myslalem...
kmk: czemu uwazasz ze to by rozwalilo np. interpreter basica?
mi sie zdaje ze dzialalo by to dalej, o ile by byly nieruszane OBECNIE STOSOWANE kombinacje klawiszy...

uwazam ze to nie tylko by nie spieprzylo interpretera basica, ale poszerzylo funkcjonalnosc innych programow czytajacych z edytora (w tym poszerzylo by funkcjonalnosc INPUT $SOMETHING w basicu)

ale pozostaje problem wspomniany przez kmk: zajelo by to od cholery (lub ciut wiecej) pamieci...

Ostatnio edytowany przez jellonek (2006-01-19 17:00:24)

The UNIX Guru`s view of Sex:
unzip; strip; touch; finger; mount; fsck; more; yes; umount; sleep

12

Odp: Historia linii poleceń.

Jellonek: jedno z dwojga - albo przypisujesz historię do nowej kombinacji klawiszy (np. Ctrl/Shift/góra|dół) i wtedy posypie się wszystko, co ją wykorzystuje, czyli połowa edytorów tekstu, prawdopodobnie, z pełnoekranowym - ale zrobionym na "E:" - edytorem MAE na czele. Juz nie wspominając, po co komu historia w edytorze pełnoekranowym. Albo przypisujesz to do strzałek góra/dół, i wtedy adieu Atari BASIC, MAC/65 i pewnie kilo innych podstawowych programów.

Poza tym bufor historii to jest funkcja programu, który takowego potrzebuje, nie? Czyli w unixie to jest zaszyte w bashu a nie w kernelu. Nie widzę powodu, żeby na Atari miało być inaczej, ostatecznie potrzebuje tego tylko command.com. Przy INPUT A$ i pokrewnych by to tylko przeszkadzało (bo po co przywoływać komendy shella w BASIC-u i odwrotnie).

KMK
? HEX$(6670358)

13

Odp: Historia linii poleceń.

Hm, to przy okazji jeszcze uzupełnianie nazw plików TABem (nawet winda to ma, tyle że zje*ne), Ctrl+L zamiast Ctrl+Clear, Ctrl+D zamiast Ctrl+3 (efektem w shellu jest logout)... ;)

A poważnie to nie można w SDX zwyczajnie najechać kursorem na poprzednią komendę o ile jeszcze jest na ekranie?

https://www.youtube.com/watch?v=jofNR_WkoCE

14

Odp: Historia linii poleceń.

Znakomite pytanie Fox. Głównie o to się rozchodzi.

Czy możecie wyjaśnić, Stirlitz, dlaczego wasz służbowy adres stirlitz@rsha.gov.de ma aliasa justas@gru.su?
Nie czytam PM. Proszę używać e-mail.

15

Odp: Historia linii poleceń.

kmk: rozne systemy - rozne podejscie
pod unixami jest to sprawa programu
pod winda jest to sprawa "konsoli" (nie tylko cmd.exe ma obsluge historii, ale i wszystkie programy kozystajace z stdin konsolowego)

ale chyba rzeczywiscie w wypadku atari lepiej pozostac przy stowrzeniu nowej wresji command.com-a

The UNIX Guru`s view of Sex:
unzip; strip; touch; finger; mount; fsck; more; yes; umount; sleep

16

Odp: Historia linii poleceń.

Modyfikacja COMMAND.COMa niewiele pewnie pomoże, bo polecenia, które wykonuje nie muszą być wczytywane z edytora, ale np. z pliku (BAT) - istnieje coś takiego, jak przekierowanie I/O.
Wg mnie sensowne rozwiązanie to takie, o jakim pisze piotrv - czyli (jak w csh) specjalne polecenia typu "!!" albo "!str". To nie powinno przeszkadzać w przetwarzaniu batów. Można je np. podpiąć pod symbol runext w COM430.COM. Tyle, że... tam wykrzyknik służy do odpalania plików typu EXE (jak nie ma COMEXE.SYSa) ;)

17

Odp: Historia linii poleceń.

W csh są jeszcze:
"!n" - wywołuje n-tą komendę od początku historii
"!-n" - wywołuje n-tą komendę od końca historii

Nie wspomniałem o tym, bo jak dla mnie to już za bardzo złożone i nie używam :)

I'm not so bad, once you get to know me.

18

Odp: Historia linii poleceń.

W SDX mozna wywolac komende ktora jest na ekranie. Niestety trzeba stanac linie wyzej niz ta komenda i nacisnac dwa razy Return.

19

Odp: Historia linii poleceń.

trub napisał/a:

Modyfikacja COMMAND.COMa niewiele pewnie pomoże, bo polecenia, które wykonuje nie muszą być wczytywane z edytora, ale np. z pliku (BAT) - istnieje coś takiego, jak przekierowanie I/O.

Zapewne input z klawiatury dałoby się przekierować podobnie jak input z edytora.

KMK
? HEX$(6670358)

20

Odp: Historia linii poleceń.

O ile dobrze rozumiem, to historia miałaby się odwoływac tylko do poleceń wpisanych z klawiatury - w procesorze komend.

Co do przekierowań I/O, to jak to się wywołuje?

Czy można zrobić coś takiego?

dir >kat.txt

------
W którymś shellu unixowym historia z tego co pamiętam była przechowywana w normalnym pliku tekstowym - nie wiem po co, chyba żeby móc śledzić użytkownika, a może do wspomnianej komendy "!n", gdyby ktoś zapomniał jaka była komenda nr 1029 w historii.
W każdym razie był to zwykły plik tekstowy z każdą komendą w osobnej linii (+ ew. data z przodu, ale dokładnie nie pamiętam).

Ostatnio edytowany przez piotrv (2006-01-20 11:47:22)

I'm not so bad, once you get to know me.

21

Odp: Historia linii poleceń.

Można. Konkretnie "dir >>kat.txt". W druga stronę też się da, tj. "program <<foobar.txt", gdzie program zamiast czytać dane z klawiatury odczytuje je z pliku.

KMK
? HEX$(6670358)

22

Odp: Historia linii poleceń.

piotrv: bash napewno ma taka mozliwosc - przy opuszczaniu interaktywnego interpretera (czytajacego z terminala) ostatnie 'n' wykonanaych komend ('n' ustawialne) jest zapisywane w pliku ~/.bash_history

The UNIX Guru`s view of Sex:
unzip; strip; touch; finger; mount; fsck; more; yes; umount; sleep

23

Odp: Historia linii poleceń.

A czy nie daloby sie zmodyfikowac bufora klawiatury (KEY.COM), tak , zeby oprocz buforowania potrafil wyswietlic ostatnia komende, ktora przez niego przeszla?

Nie znam sie na Sparcie, nie bijcie jesli to bez sensu.

http://www.5oft.pl/