/ Forside / Teknologi / Operativsystemer / Linux / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Linux
#NavnPoint
o.v.n. 11177
peque 7911
dk 4814
e.c 2359
Uranus 1334
emesen 1334
stone47 1307
linuxrules 1214
Octon 1100
10  BjarneD 875
Kampen med ksh
Fra : Niels Callesøe


Dato : 01-12-05 18:16

Af forskellige årsager ønsker jeg at skifte min primære shell fra bash
til (pd)ksh.

Men, men, men. Nu er jeg jo van til at have hhv. tab-completion og
mulighed for at bladre i history med piletasterne. Desværre ser det
ikke ud til at tab-completion kan slås til i ksh emacs-mode, og i vi-
mode virker piletasterne ikke. Kan nogen sige mig om det kan lade sig
gøre at kunne begge dele?

En anden ting er, at jeg ikke helt kan gennemskue om jeg kan opnå en
prompt der svarer til den jeg plejer at have, med frække farver og
sager (dvs, hvid og grå, men alligevel).

Min bash-prompt ser således ud:
PS1="[\u@\[\033[1;37m\]\h\[\033[0m\]:\W]\$ "

Indtil videre er jeg nået til følgende i ksh:
PS1=$USER@$HOST:'${PWD##/*/}$ '

--
Niels Callesøe - dk pfy @work
pfy[at]nntp.dk - http://www.t29.dk/~nica/disclaimer.php

SPF makes baby Jesus retarded.

 
 
Kristian Vilmann (01-12-2005)
Kommentar
Fra : Kristian Vilmann


Dato : 01-12-05 21:24

Niels Callesøe wrote:
> Af forskellige årsager ønsker jeg at skifte min primære shell fra bash
> til (pd)ksh.

Du må have tungtvejende grunde....

Hvad er det dog pdksh kan, som bash ikke kan?

Bash plejer da at æde ksh-syntaks, hvis jeg hukser ret.

/k

Niels Callesøe (01-12-2005)
Kommentar
Fra : Niels Callesøe


Dato : 01-12-05 22:41

Kristian Vilmann wrote in
<news:438f5bf6$0$67262$157c6196@dreader2.cybercity.dk>:

>> Af forskellige årsager ønsker jeg at skifte min primære shell fra
>> bash til (pd)ksh.
>
> Du må have tungtvejende grunde....

Ellers havde jeg (formodentlig) ikke fået den fikse ide.

> Hvad er det dog pdksh kan, som bash ikke kan?

Det ved jeg ret beset ikke. Måske ingenting?

> Bash plejer da at æde ksh-syntaks, hvis jeg hukser ret.

Men det nytter jo ikke meget hvis systemet siger

ksh: /usr/local/bin/bash: not found

--
Niels Callesøe - dk pfy @work
pfy[at]nntp.dk - http://www.t29.dk/~nica/disclaimer.php

SPF makes baby Jesus retarded.

Kristian Vilmann (02-12-2005)
Kommentar
Fra : Kristian Vilmann


Dato : 02-12-05 00:15

Niels Callesøe wrote:
> Kristian Vilmann wrote in

>
>>Bash plejer da at æde ksh-syntaks, hvis jeg hukser ret.
>
>
> Men det nytter jo ikke meget hvis systemet siger
>
> ksh: /usr/local/bin/bash: not found

Jeg vil tro det kan løses med et symlink.
Men hvor kommer den fejl fra?

/k

Niels Callesøe (02-12-2005)
Kommentar
Fra : Niels Callesøe


Dato : 02-12-05 17:11

Kristian Vilmann wrote in
<news:438f8403$0$78279$157c6196@dreader1.cybercity.dk>:

>>>Bash plejer da at æde ksh-syntaks, hvis jeg hukser ret.
>>
>> Men det nytter jo ikke meget hvis systemet siger
>>
>> ksh: /usr/local/bin/bash: not found
>
> Jeg vil tro det kan løses med et symlink.
> Men hvor kommer den fejl fra?

Suk.

Det er meget sødt af jer, alle tre. I prøver tydeligvis bare på at
hjælpe. Men problemet er ikke, at jeg ikke kan finde ud af at
installere eller referere bash. Ovenstående var min (åbenbart lidt for
kryptiske) måde at vise på at bash ikke er installeret på den
pågældende server.

Pointen er, at på nogle systemer og i nogle forskellige servermiljøer,
er bash ikke tilgængelig -- og måske er jeg ikke root, eller måske
forhindrer den lokale sikkerhedspolitik at der installeres nye shells.
Eller måske hedder systemet AIX. Eller måske er der en helt fjerde
årsag.

I hvert fald vil jeg gerne vende mig til at bruge ksh, ikke bash.

Jeg er godt klar over, at det ikke er alle spørgsmål på usenet der
faktisk betyder det der står. Men når jeg spørger om noget, bruger jeg
faktisk en del tid på at sikre mig at jeg spørger om det jeg gerne vil
vide, og ikke alt muligt andet. Tak dog alligevel for forsøget.

--
Niels Callesøe - dk pfy @work
pfy[at]nntp.dk - http://www.t29.dk/~nica/disclaimer.php

SPF makes baby Jesus retarded.

Sonny T. Larsen (02-12-2005)
Kommentar
Fra : Sonny T. Larsen


Dato : 02-12-05 18:29

On 02 Dec 2005 16:11:05 GMT, Niels Callesøe wrote:

> Pointen er, at på nogle systemer og i nogle forskellige servermiljøer,
> er bash ikke tilgængelig -- og måske er jeg ikke root, eller måske
> forhindrer den lokale sikkerhedspolitik at der installeres nye shells.
> Eller måske hedder systemet AIX.



--
/Sonny - #include <std.disclaimer.h>

"I don't have an attitude problem, you have a perception problem."

Nikolaj Hansen (02-12-2005)
Kommentar
Fra : Nikolaj Hansen


Dato : 02-12-05 15:33

Niels Callesøe wrote:

> ksh: /usr/local/bin/bash: not found

Sikkert fordi bash ikke er installeret som en stadard shell på dit system.

Det kan du sagtens gøre.

Bash er opensource og frit tilgængeligt

.. Nico

Thorbjørn Ravn Ander~ (02-12-2005)
Kommentar
Fra : Thorbjørn Ravn Ander~


Dato : 02-12-05 16:28

"Niels Callesøe" <pfy@nntp.dk> writes:

> ksh: /usr/local/bin/bash: not found

Så ligger den nok ikke der.
--
Thorbjørn Ravn Andersen


Bjarne (02-12-2005)
Kommentar
Fra : Bjarne


Dato : 02-12-05 20:13

In article <Xns971FB9DC06E9Fk5j6h4jk3@62.243.74.163>,
   "Niels Callesøe" <pfy@nntp.dk> writes:
> Af forskellige årsager ønsker jeg at skifte min primære shell fra bash
> til (pd)ksh.
Jeg har kun brugt pdksh en enkelt gang, men bruger ksh dagligt så...

>
> Men, men, men. Nu er jeg jo van til at have hhv. tab-completion og
> mulighed for at bladre i history med piletasterne. Desværre ser det
> ikke ud til at tab-completion kan slås til i ksh emacs-mode, og i vi-
> mode virker piletasterne ikke. Kan nogen sige mig om det kan lade sig
> gøre at kunne begge dele?

Completion klares med 2 gange escape. Ja, det kan være bøvlet hvis man er
vant til tab, men man kan godt lære at leve med det.

Historik-bladring klares i emacs mode (set -o emacs) på samme måde som i bash :
frem og tilbage på linien : ctl-f og ctl-b,
til start af linien : ctl-a, til slut af linien : ctl-e
op og ned i historik : ctl-n og ctl-p
slet bogstav ctl-d

Jeg har aldrig gidet bruge tid på at regne ud om piltasterne kan anvendes,
de andre sidder meget mere naturligt når man skriver.

mvh,
Bjarne

>
:snip
>

Niels Callesøe (02-12-2005)
Kommentar
Fra : Niels Callesøe


Dato : 02-12-05 21:28

Bjarne wrote in
<news:43909ccc$0$2084$edfadb0f@dtext02.news.tele.dk>:

> In article <Xns971FB9DC06E9Fk5j6h4jk3@62.243.74.163>,
> "Niels Callesøe" <pfy@nntp.dk> writes:
>> Af forskellige årsager ønsker jeg at skifte min primære shell fra
>> bash til (pd)ksh.
> Jeg har kun brugt pdksh en enkelt gang, men bruger ksh dagligt
> så...

De påstår at forskellen er meget lille -- og det bliver alligevel ksh
jeg kommer til at bruge, om noget. At jeg nævnte pdksh var mest for at
gøre feltet af mulige respondenter større.

>> Men, men, men. Nu er jeg jo van til at have hhv. tab-completion
>> og mulighed for at bladre i history med piletasterne. Desværre
>> ser det ikke ud til at tab-completion kan slås til i ksh
>> emacs-mode, og i vi- mode virker piletasterne ikke. Kan nogen
>> sige mig om det kan lade sig gøre at kunne begge dele?
>
> Completion klares med 2 gange escape. Ja, det kan være bøvlet hvis
> man er vant til tab, men man kan godt lære at leve med det.
>
> Historik-bladring klares i emacs mode (set -o emacs) på samme måde
> som i bash : frem og tilbage på linien : ctl-f og ctl-b,
> til start af linien : ctl-a, til slut af linien : ctl-e
> op og ned i historik : ctl-n og ctl-p
> slet bogstav ctl-d

Det er ikke bare bøvlet, det er direkte obskurt (altså det med <esc>-
<esc>). I øvrigt vil jeg jo i virkeligheden ikke lære at bruge ksh --
jeg vil pinedød have den til at opføre sig som jeg er van til...

Men nu kommer det rigtigt sjove så: Efter at have opgivet at få ksh til
at makke ret i denne omgang, satte jeg mig for at rode med en
friskinstalleret OpenBSD maskine i stedet. Til min overraskelse viser
det sig så, at ksh åbenbart er standard-shell på OpenBSD (så meget, at
/bin/sh, /bin/ksh og /bin/rksh er 100% identiske). Og ikke nok med det:
på den pågældende maskine opførte ksh sig... *nøjagtig* som jeg her har
beskrevet at jeg gerne vil have den til[0]. Og jeg kan pinedød ikke
gennemskue hvor tab-completion bliver slået til i emacs måde, men det
er der ikke desto mindre.

Let til middelsvært frustrerende. Nå, nu vil jeg prøve at se om jeg kan
få den til at makke ret på min primære boks ved bare at replikere dot-
filerne. Ellers må jeg jo hælde FreeBSD på porten og skifte til
Open med det samme[1].


[0]: Bortset fra det med de poppede farver i prompten. Men det kan
garanteret også lade sig gøre.
[1]: Kidding!

--
Niels Callesøe - dk pfy @work
pfy[at]nntp.dk - http://www.t29.dk/~nica/disclaimer.php

Open: Den poppede BSD.

Niels Callesøe (02-12-2005)
Kommentar
Fra : Niels Callesøe


Dato : 02-12-05 21:51

Niels Callesøe wrote in
<news:Xns9720DA4FCC39Ak5j6h4jk3@62.243.74.163>:

> Let til middelsvært frustrerende. Nå, nu vil jeg prøve at se om
> jeg kan få den til at makke ret på min primære boks ved bare at
> replikere dot- filerne. Ellers må jeg jo hælde FreeBSD på porten
> og skifte til Open med det samme[1].

Godt så. Det hjalp ikke (heldigvis, ellers havde jeg jo været blind da
jeg gik dot-filerne i gennem).

Ergo må det være afhængigt af terminal-typen, eller noget i den
størrelsesorden (jeg tilgår FreeBSD maskinen via PuTTY, OpenBSD'en er
en VM-Ware virtual machine så der er jeg ved "konsollen").

Forslag? Jeg er blank.

--
Niels Callesøe - dk pfy @work
pfy[at]nntp.dk - http://www.t29.dk/~nica/disclaimer.php

$FF = $2B || !$2B

Stig H. Jacobsen (03-12-2005)
Kommentar
Fra : Stig H. Jacobsen


Dato : 03-12-05 07:14

On 02 Dec 2005 20:51:20 GMT, "Niels Callesøe" wrote:

> Ergo må det være afhængigt af terminal-typen, eller noget i den
> størrelsesorden (jeg tilgår FreeBSD maskinen via PuTTY, OpenBSD'en er
> en VM-Ware virtual machine så der er jeg ved "konsollen").
>
> Forslag? Jeg er blank.

Din farvelagte prompt er afhængig af terminal-typen - den er
terminal-specific. Du kan istedet bruge tput(1), f.eks.:

bold=`tput bold`
sgr0=`tput sgr0`
PS1='${bold}\h${sgr0}\$ '

--
Stig

Bjørn Connolly (03-12-2005)
Kommentar
Fra : Bjørn Connolly


Dato : 03-12-05 10:30

On 02 Dec 2005 20:51:20 GMT, Niels Callesøe wrote:
> Forslag? Jeg er blank.

Prøv med /usr/ports/shells/ksh93 i stedet for pdksh, det er såvidt jeg
husker også den OpenBSD bruger[0]

[0] echo $0
--
Bjørn Connolly
Listening to 'Jezebel' by Iron & Wine
They say God created whiskey to keep the Irish from taking over the world.
--Kinky Friedman, Greenwich Killing Time

Ukendt (02-12-2005)
Kommentar
Fra : Ukendt


Dato : 02-12-05 22:47

On 01 Dec 2005 17:16:14 GMT
Niels Calles_e wrote:

> Af forskellige årsager ønsker jeg at skifte min primære shell fra bash
> til (pd)ksh.
>
> Men, men, men. Nu er jeg jo van til at have hhv. tab-completion og
> mulighed for at bladre i history med piletasterne. Desværre ser det
> ikke ud til at tab-completion kan slås til i ksh emacs-mode,

bind '^I'=complete-list

?

/Jonathan

Niels Callesøe (02-12-2005)
Kommentar
Fra : Niels Callesøe


Dato : 02-12-05 23:13

Jonathan Fromer wrote in <news:20051202224649.34214191@t21.fromer.dk>:

>> Men, men, men. Nu er jeg jo van til at have hhv. tab-completion og
>> mulighed for at bladre i history med piletasterne. Desværre ser det
>> ikke ud til at tab-completion kan slås til i ksh emacs-mode,
>
> bind '^I'=complete-list
>
> ?

Mange tak. Det var præcis den taste-kode jeg manglede.

'complete-list' gør så ikke helt det samme som 'complete', men det er
jo enormt underordnet, jeg kan godt gennemskue at finde de forskellige
typer completion i manualen.

--
Niels Callesøe - dk pfy @work
pfy[at]nntp.dk - http://www.t29.dk/~nica/disclaimer.php

Nu m. ksh.

Ukendt (03-12-2005)
Kommentar
Fra : Ukendt


Dato : 03-12-05 11:03

Bjørn Connolly wrote:
> Prøv med /usr/ports/shells/ksh93 i stedet for pdksh, det er såvidt jeg
> husker også den OpenBSD bruger[0]
>
> [0] echo $0

Nix, OpenBSD's default shell er pdksh (PD KSH v5.2.14 99/07/13.2), der
dog er modificeret lidt hist og pist.

(kig evt. paa http://people.freebsd.org/~tmclaugh/ , efter en FreeBSD
port af "OpenKSH")

/Jonathan

Bjørn Connolly (03-12-2005)
Kommentar
Fra : Bjørn Connolly


Dato : 03-12-05 12:02

On Sat, 3 Dec 2005 11:03:22 +0100, Jonathan Fromer wrote:
> Bjørn Connolly wrote:
>> Prøv med /usr/ports/shells/ksh93 i stedet for pdksh, det er såvidt jeg
>> husker også den OpenBSD bruger[0]
>>
>> [0] echo $0
>
> Nix, OpenBSD's default shell er pdksh (PD KSH v5.2.14 99/07/13.2), der
> dog er modificeret lidt hist og pist.

Så huskede jeg forkert, jeg har ikke rørt OpenBSD i lang tid.

Omend andet er tror jeg at jeg ville foretrække ksh93 hvis jeg var
Niels. Da det ikke tyder på at han kan installere "OpenKSH" på de
maskiner han skal bruge ksh på. Derimod er ksh93 inkluderet på AIX
og Slowaris. Samt det er let at installere på hans nuværende FreeBSD
kasse.

--
Bjørn Connolly
Listening to 'Sick Day' by Janie Porche
"Anyone who is capable of getting themselves made President should on no
account be allowed to do the job." --Douglas Adams, THGTTG

Niels Callesøe (03-12-2005)
Kommentar
Fra : Niels Callesøe


Dato : 03-12-05 13:45

Jonathan Fromer wrote:

> (kig evt. paa http://people.freebsd.org/~tmclaugh/ , efter en FreeBSD
> port af "OpenKSH")

Høhø, ja, han har jo, efter eget udsagn, en meget betryggende track
record... og en god portion selvironi.

Det ser stadig ud til at OpenBSD's ksh gør mere præcist det jeg gerne
vil end FreeBSD's, men jeg er nok desværre nød til at holde mig til den
mest 'basale' ksh jeg kan finde.

--
Niels Callesøe - dk pfy
pfy[at]nntp.dk - http://www.t29.dk/~nica/disclaimer.php

ksh != ksh != ksh != ksh == fsck!

Thorbjørn Ravn Ander~ (03-12-2005)
Kommentar
Fra : Thorbjørn Ravn Ander~


Dato : 03-12-05 18:30

"Niels Callesøe" <pfy@nntp.dk> writes:

> mest 'basale' ksh jeg kan finde.

Hold dig til standard sh - så virker det alle steder - men du bliver
vanvittig :)
--
Thorbjørn Ravn Andersen

Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408929
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste