HP-UX ksh multi-line

Fórumok

Be lehet-e állítani HP-UX ksh (11.23 Version 11/16/88) shellje alatt, hogy pl. bash-hez hasonlóan több sorba írja ki parancssort, ne pedig az alábbi módon? Ha igen, hogyan?

$ ommand line lenne, akar atnyulhatna tobb soron"                                          <
CTRL-A
$ echo "ez hp-ux ksh alatt egy nagyon hosszu command line lenne, akar atnyulhatna tobb soro>

zsh-ra találtam egy ilyet:
SINGLE_LINE_ZLE (-M): Use single-line command line editing instead of multi-line.

szerk.: azt nem mondtam, h PuTTY-ot használok és xterm a $TERM.

Hozzászólások

Nem találok erre vonatkozóan semmilyen információt. Szerintem ilyet egyszerűen nem tud a korn shell. Ez véletlenül nem egy bash feature, melyet még kevesen implementáltak?

Ave, Saabi.

A kovetkezovel mukodik nalam AIX-en ksh88 alatt:

set +o vi
set +o emacs

Tudom...

hát igen, gugli is azt mondta, hogy ksh93 tudja, de még ksh88-am sincsen (ha ez nem az ami alapból fent van).

illetve +o -val nekem is tudja, de akkor igen :) ...

btw szeretem a vi-t, de mint linuxon szocializálodott egyed a nyilakat jobban megszoktam, ezért inkább így használom:

$ more .kshrc
# setup standard prompt
export PS1="$USER@`hostname`:"'$PWD\$ '

# cursor keys
set -o emacs
alias __A='^P'
alias __D='^B'
alias __B='^N'
alias __C='^F'
alias __H='^A'

> HP-UX ksh (11.23 Version 11/16/88)
> még ksh88-am sincsen

pedig de, mint azt a verziósztringben írja is :-)

Amúgy pedig a fenti aliasokhoz pár kérdés:

a) tudod is, hogy ezekkel mit csinálsz (tudom, aliasokat defniálsz) ?
b) ha már a Home gombot feldefiniáltad, akkor az End -et miért nem?
c) és ugye csak véletlenül felejtetted le a leglényegesebb információt, hogy a kontrol-karakterek begépelésénél nem ^ és P, hanem a *valódi* Ctrl-P (stb) írandó ide ..)
d) most kapásból nincs putty-om hapuksszal, de neked nem kuszálódik össze a terminál pl. egy sima, paraméterek nélküli "alias" parancs kiadásától? Mert ha igen, akkor javasolt még egy utolsó aliast fölvenni, pl. __Z néven (mert akkor a listában ez lesz a legutolsó), és értékül a ^O karaktert adni neki. (Ha nem, akkor szar a putty vt100 emulációja :-) )

(jav)
Ui: ja, és az eredeti kérdésre a válasz: nem lehet megcsinálni.

>pedig de, mint azt a verziósztringben írja is :-)

well, a hozzászólásnál ezt már nem figyeltem (ugyan írtam "ha ez nem az"), illetve nem ksh88-nak hívták a ksh93-ra analóg módon.

a) hát nyilakat :)
b) ezeket nyilván a neten találtam és ott sem volt End definiálva, magamtól meg nem tudom. btw Home a definiálás ellenére sem működik (Home/End ~-ot rajzol), de Home/End-re a megszokott CTRL+A/E-t használom.
c) ez nem is volt kérdéses, vi-al CTRL+V CTRL+P
d) nem kuszálódik. mit csinál a CTRL+O? ugyanazt mint a CTRL+L?

ahá, CTRL+L csak LF, CTRL+O Enterként viselkedik.
mármint:


$ lsCTRL+O
file1 file2 file3
$

$ lsCTRL+L
$ ls

Eredeti kérdéssel kapcsolatban: kár. vagyis inkább sajnálom.

> b) ezeket nyilván a neten találtam és ott sem volt End definiálva, magamtól meg nem tudom. btw Home a definiálás ellenére sem működik (Home/End ~-ot rajzol), de Home/End-re a megszokott CTRL+A/E-t használom.

Szóval: ilyen hülye nevű aliassal ESC _ valami billentyűsorozatok makrózhatóak. Azaz pl az __A azért működik, mert a kurzor-fel egy ESC-_-A szekvenciát küld ki. Tehát ahhoz, hogy a Home/End működjön, ahhoz azoknak a billentyűknek is ilyen karaktersorozatot kellen küldeniük. Pl. ez a ksh-ban simán egy \ HOME vagy ^V HOME leütésével ellenőrizhető. Ha 3-nál hosszabb karaktersorozatot köp ki magából, esélytelen. Ha nem ESC-pel kezdődik esélytelen.

>d) nem kuszálódik. mit csinál a CTRL+O? ugyanazt mint a CTRL+L?

Nem. *Nagyon* sok terminálon ha képernyőre íródik a ^N, akkor átváltja a terminál betűtipusát (un. Alternate Character Set -re), ami kissé hieroglifa szerű, a ^O pedig visszaváltja.