2ちゃんねる ■掲示板に戻る■ 全部 1- 最新50    

過去UNIXで使われていた ksh というシェルについて

1 :名無しさん@お腹いっぱい。:2020/02/22(土) 17:00:03.96 .net
https://github.com/att/ast

ksh 2020 リリース

クソやろこれ

ksh 93 にバック・トゥ・ザ・フューチャー

今に至る

2 :名無しさん@お腹いっぱい。:2020/02/22(土) 20:17:55.29 .net
OBSDユーザのワイ、高みの見物

3 :名無しさん@お腹いっぱい。:2020/02/22(土) 20:42:26.19 .net
kshがデフォルトのOSってなんだっけ?
Solaris?まあもう死んでるが。

4 :名無しさん@お腹いっぱい。:2020/02/22(土) 21:55:16.64 .net
Solaris11のデフォルトシェルはbashやで…

5 :名無しさん@お腹いっぱい。:2020/02/22(土) 22:00:28.29 .net
それはユーザーのシェルやろ?

https://docs.oracle.com/cd/E26924_01/html/E25934/userenv-1.html
シェルの変更 - デフォルトのシェル /bin/sh が ksh93 にリンクされるようになりました。デフォルトのユーザーシェルは Bourne-Again (bash) シェルです。

6 :名無しさん@お腹いっぱい。:2020/02/23(日) 14:04:27.88 .net
HP-UXにデフォルトで入ってた記憶はあるけどOSのデフォルトだったかどうか覚えてないな

7 :名無しさん@お腹いっぱい。:2020/03/12(木) 19:09:11.80 .net
AIXはksh

8 :名無しさん@お腹いっぱい。:2020/03/16(月) 10:12:11.43 .net
家でSPARC Solaris動かしてたけど、ユーザーシェルはzsh使ってたな

9 :名無しさん@お腹いっぱい。:2021/02/11(木) 23:36:52.44 .net
kshのバグ修正してる人すごいな
大部分は他の修正のバックポートなんだろうけど
それでも大変すぎる作業だ

10 :名無しさん@お腹いっぱい。:2021/03/04(木) 15:53:53.76 .net
https://news.slashdot.org/story/01/02/06/2030205/david-korn-tells-all

11 :名無しさん@お腹いっぱい。:2021/04/26(月) 04:43:05.76 .net
2000-2010年にksh使ってる層は大体ドザーだろ
MS提供のwindowsコマンド集に含まれてた
ksh寄りのbashが流行ったのもwinでksh使ってた層に受け入れられたからだろうと思ってる
少なくとも俺はそうだったな

12 :名無しさん@お腹いっぱい。:2021/04/26(月) 06:33:04.91 .net
set -o emacs

13 :名無しさん@お腹いっぱい。:2021/04/26(月) 06:53:41.64 .net
>>11
適当なこと言って恥ずかしくないの?
WindowsというかSFUに付属していたのはMKS Korn Shellで
kshとは互換性がない別物だしSFUなんて殆ど使われてない
kshを使ってたのはkshがデフォルトシェルのSolarisユーザーだろ
そもそもUnix系で使われたのがkshだし

14 :名無しさん@お腹いっぱい。:2021/04/26(月) 11:56:16.59 .net
Solaris も SunOS もログインシェルは Bourne シェルだし
システムシェルが ksh に変わったのは Oracle Solaris 11 で
それまでは Bourne シェル

15 :名無しさん@お腹いっぱい。:2021/04/26(月) 12:08:37.97 .net
>>13
そんなに違うのか
bashには違和感なく移行できたが

16 :名無しさん@お腹いっぱい。:2021/04/26(月) 12:38:06.01 .net
そもそも2002年リリースの3.0からは MKS Korn Shell ではないし

17 :名無しさん@お腹いっぱい。:2021/04/26(月) 12:56:15.53 .net
WindowsのSFUって、Service For Unixの略だったっけ?
と思ってぐぐったら、元は有償だったんか

18 :名無しさん@お腹いっぱい。:2021/04/27(火) 00:42:53.11 .net
>>14
Bourne シェルはbashよりも前に存在していたシェルで
bashやkshがもってるPOSIX標準機能をサポートしてない
かなり違うよ

19 :名無しさん@お腹いっぱい。:2021/04/27(火) 00:43:13.44 .net
>>14
HP-UXやAIXは?

20 :名無しさん@お腹いっぱい。:2021/04/27(火) 02:05:46.86 .net
>>18
> kshがデフォルトシェルのSolaris

21 :名無しさん@お腹いっぱい。:2021/04/27(火) 05:31:34.88 .net
それにしてもものすごい修正の量だな
93u+m 1.0.0のリリース楽しみ

22 :名無しさん@お腹いっぱい。:2021/05/01(土) 09:02:42.66 .net
修正されていることを祈るが…

23 :名無しさん@お腹いっぱい。:2021/05/01(土) 10:47:23.29 .net
>>19
AIXもkshだよ

24 :名無しさん@お腹いっぱい。:2021/05/02(日) 22:40:21.78 .net
>>22
修正している内容を見ると、ほんとこれでよく動いていたと思うわ
コアの重要な部分のまれにおこるかもしれないようなバグ修正がたくさん
絶妙なバランスで動いていたんだなーと思う
ksh2020が互換性がなくなってしまったのも仕方ないと思うな

25 :名無しさん@お腹いっぱい。:2021/05/22(土) 16:49:32.16 .net
英語のWikipedia にあった、これの事か。
That initial release (although fixing several prior stability issues) introduced some minor breakage and compatibility issues. In March 2020, AT&T decided to roll back the community changes, stash them in a branch, and restart from ksh93u+, as the changes were too broad and too ksh-focused for the company to absorb into a project in maintenance mode.

26 :名無しさん@お腹いっぱい。:2022/08/12(金) 22:04:56.86 .net
Debian で ksh と set -o vi で使ってたけど、bash の方が素直な動きな気がせんでもない

27 :名無しさん@お腹いっぱい。:2022/09/03(土) 02:36:47.69 .net
mkshはシェアじわじわ伸ばしてるだろ、対話的に人気かはさておき
androidにコンソール機能だけの薄っぺらいアプリ入れるとmksh触ることになる
権限厳しくてデバイスファイルもまともにアクセスできんが

使いづらいスマホで疑似環境/ゲスト環境まで入れて弄る奇特な人間はそこにbashとか入れるだろうが

28 :名無しさん@お腹いっぱい。:2022/09/07(水) 06:14:49.34 .net
pdksh に逃げちゃいました

29 :名無しさん@お腹いっぱい。:2022/09/08(木) 00:25:54.60 .net
>>27
mkshはkshじゃなくてpdkshベース
貧弱すぎてkshの足元にも及ばない

30 :名無しさん@お腹いっぱい。:2022/09/09(金) 19:46:37.78 .net
>>26
対話bashスクリプティングdashでやってるけどksh系のprintが羨ましいってのはある
rsとかcolumn(linux版の高機能なやつ)を併用すれば良いんだけど、毎回色々忘れてマニュアル眺める
bash頒布物にビルトイン用print.cのスタブが放棄されてるので、メンテナもそう考えてるんだろうな

zshはなんかもう違う気がする

31 :名無しさん@お腹いっぱい。:2022/09/09(金) 20:00:02.08 .net
思い付いた勢いでmkshとやら入れてmksh -c print mkshprint "$@"するだけのラッパ書いてみた、まあ変数アサインとかビルトイン特権な機能は諦めるとして
なかなか使い心地よさそうな感じ

32 :名無しさん@お腹いっぱい。:2022/09/09(金) 20:19:55.96 .net
ksh も bash も文法の大半は同じで、OS の差違、シェルの差異、バージョンの差異、どれが原因で動きが違うのかわからんのよね。
30−31 の人、凄そう。
そのシステムで利用されているシェルから、欲しいとこだけパクるしかしてないので、違いがよくわからない。

33 :名無しさん@お腹いっぱい。:2022/09/09(金) 22:23:11.14 .net
>>32
買いかぶってもらって悪いけど、普通に間違ってんだわ
mksh -c 'print "$@"' mkshprint "$@"
mkshに2つ目の@をバラして位置パラメータをセット、1つめの@はmksh自身にもう一度単語分割してもらう

--helpを受け付けずすぐに使い方忘れそうなんで、--helpの時はman mkshからsedで切り出して表示するようにした

34 :名無しさん@お腹いっぱい。:2022/09/09(金) 22:41:33.48 .net
というか俺の思ってたフォーマット系最強コマンドとしてのprintはほぼzshの拡張機能だったらしい、zshも入れてみるか…
mkshのはフォーマット機能弱いけど、ヒストリやコプロセスに出力送れたりビルトインとして使えれば非常に強力なもの

bashの配列変数に入ったfdでやり取りする方式のcoprocより使いやすいかもしれん、コプロセスを非常に繁用するので、もしかしたら対話シェルにbashから乗り換える事になるかも
しかし何分ネット情報が少ない…

35 :名無しさん@お腹いっぱい。:2022/09/09(金) 22:48:52.84 .net
普及してるbashでもcoprocのような高度な機能使ってる奴そんなおらんぞ

36 :名無しさん@お腹いっぱい。:2022/09/09(金) 22:57:28.40 .net
色んなシェル触るのは大事だと思う、例えゴミクズだろうと名が通ってるものならば

例えば酔狂で一日(t)csh縛り経験するだけでも古文書の理解度が全然変わってくる

37 :名無しさん@お腹いっぱい。:[ここ壊れてます] .net
>>33
何したいのか知らんが
alias print="mksh -c 'print \"\$@\"' --"
でいいんだろ?

もしくはシェルスクリプトに書けばいいだけ
#!/usr/bin/env mksh
print "$@"

38 :名無しさん@お腹いっぱい。:2022/09/10(土) 11:49:13.97 .net
>>37
後者は等価だけど、前者は展開で壊れね?

39 :名無しさん@お腹いっぱい。:2022/09/10(土) 14:11:10.32 .net
>>38
動作確認って知ってる?

40 :名無しさん@お腹いっぱい。:2022/09/10(土) 17:05:38.82 .net
なぜ土曜日に動作確認してるんだい?

41 :名無しさん@お腹いっぱい。:2022/09/10(土) 17:06:38.51 .net
>>40
自宅にパソコンないんか?
すまんかったw
ひどいことを聞いてしまったwww

42 :名無しさん@お腹いっぱい。:2024/03/27(水) 19:35:20.52 .net
一足早くpassword時代に比べると皆アホほど上手くやりますとしか聞こえない

43 :名無しさん@お腹いっぱい。:2024/03/27(水) 19:37:34.60 .net
さみねほもをゆけゆわれろてすとけめへきあちやおのよえおやしつみむしみきせらむふぬふぬりわはあかおむ

44 :名無しさん@お腹いっぱい。:2024/03/27(水) 21:07:36.80 .net
怪我してたかわからんわ

45 :名無しさん@お腹いっぱい。:2024/03/27(水) 21:18:48.47 .net
絶対どっかで落ちるわ

46 :名無しさん@お腹いっぱい。:2024/06/01(土) 06:12:02.13 .net
>>35
プロセス投げるのがシェルの本懐であってだな…
きめ細かな制御やプロセスに名前付けたハンドルで扱えんのは今時時代遅れすぎる

11 KB
新着レスの表示

掲示板に戻る 全部 前100 次100 最新50
名前: E-mail (省略可) :

read.cgi ver.24052200