X


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

2020/02/22(土) 17:00:03.96
https://github.com/att/ast

ksh 2020 リリース

クソやろこれ

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

今に至る
2020/02/22(土) 20:17:55.29
OBSDユーザのワイ、高みの見物
2020/02/22(土) 20:42:26.19
kshがデフォルトのOSってなんだっけ?
Solaris?まあもう死んでるが。
4名無しさん@お腹いっぱい。
垢版 |
2020/02/22(土) 21:55:16.64
Solaris11のデフォルトシェルはbashやで…
2020/02/22(土) 22:00:28.29
それはユーザーのシェルやろ?

https://docs.oracle.com/cd/E26924_01/html/E25934/userenv-1.html
シェルの変更 - デフォルトのシェル /bin/sh が ksh93 にリンクされるようになりました。デフォルトのユーザーシェルは Bourne-Again (bash) シェルです。
2020/02/23(日) 14:04:27.88
HP-UXにデフォルトで入ってた記憶はあるけどOSのデフォルトだったかどうか覚えてないな
2020/03/12(木) 19:09:11.80
AIXはksh
2020/03/16(月) 10:12:11.43
家でSPARC Solaris動かしてたけど、ユーザーシェルはzsh使ってたな
9名無しさん@お腹いっぱい。
垢版 |
2021/02/11(木) 23:36:52.44
kshのバグ修正してる人すごいな
大部分は他の修正のバックポートなんだろうけど
それでも大変すぎる作業だ
2021/03/04(木) 15:53:53.76
https://news.slashdot.org/story/01/02/06/2030205/david-korn-tells-all
2021/04/26(月) 04:43:05.76
2000-2010年にksh使ってる層は大体ドザーだろ
MS提供のwindowsコマンド集に含まれてた
ksh寄りのbashが流行ったのもwinでksh使ってた層に受け入れられたからだろうと思ってる
少なくとも俺はそうだったな
12名無しさん@お腹いっぱい。
垢版 |
2021/04/26(月) 06:33:04.91
set -o emacs
2021/04/26(月) 06:53:41.64
>>11
適当なこと言って恥ずかしくないの?
WindowsというかSFUに付属していたのはMKS Korn Shellで
kshとは互換性がない別物だしSFUなんて殆ど使われてない
kshを使ってたのはkshがデフォルトシェルのSolarisユーザーだろ
そもそもUnix系で使われたのがkshだし
2021/04/26(月) 11:56:16.59
Solaris も SunOS もログインシェルは Bourne シェルだし
システムシェルが ksh に変わったのは Oracle Solaris 11 で
それまでは Bourne シェル
2021/04/26(月) 12:08:37.97
>>13
そんなに違うのか
bashには違和感なく移行できたが
2021/04/26(月) 12:38:06.01
そもそも2002年リリースの3.0からは MKS Korn Shell ではないし
2021/04/26(月) 12:56:15.53
WindowsのSFUって、Service For Unixの略だったっけ?
と思ってぐぐったら、元は有償だったんか
2021/04/27(火) 00:42:53.11
>>14
Bourne シェルはbashよりも前に存在していたシェルで
bashやkshがもってるPOSIX標準機能をサポートしてない
かなり違うよ
2021/04/27(火) 00:43:13.44
>>14
HP-UXやAIXは?
2021/04/27(火) 02:05:46.86
>>18
> kshがデフォルトシェルのSolaris
2021/04/27(火) 05:31:34.88
それにしてもものすごい修正の量だな
93u+m 1.0.0のリリース楽しみ
2021/05/01(土) 09:02:42.66
修正されていることを祈るが…
2021/05/01(土) 10:47:23.29
>>19
AIXもkshだよ
24名無しさん@お腹いっぱい。
垢版 |
2021/05/02(日) 22:40:21.78
>>22
修正している内容を見ると、ほんとこれでよく動いていたと思うわ
コアの重要な部分のまれにおこるかもしれないようなバグ修正がたくさん
絶妙なバランスで動いていたんだなーと思う
ksh2020が互換性がなくなってしまったのも仕方ないと思うな
2021/05/22(土) 16:49:32.16
英語の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.
2022/08/12(金) 22:04:56.86
Debian で ksh と set -o vi で使ってたけど、bash の方が素直な動きな気がせんでもない
2022/09/03(土) 02:36:47.69
mkshはシェアじわじわ伸ばしてるだろ、対話的に人気かはさておき
androidにコンソール機能だけの薄っぺらいアプリ入れるとmksh触ることになる
権限厳しくてデバイスファイルもまともにアクセスできんが

使いづらいスマホで疑似環境/ゲスト環境まで入れて弄る奇特な人間はそこにbashとか入れるだろうが
2022/09/07(水) 06:14:49.34
pdksh に逃げちゃいました
29名無しさん@お腹いっぱい。
垢版 |
2022/09/08(木) 00:25:54.60
>>27
mkshはkshじゃなくてpdkshベース
貧弱すぎてkshの足元にも及ばない
2022/09/09(金) 19:46:37.78
>>26
対話bashスクリプティングdashでやってるけどksh系のprintが羨ましいってのはある
rsとかcolumn(linux版の高機能なやつ)を併用すれば良いんだけど、毎回色々忘れてマニュアル眺める
bash頒布物にビルトイン用print.cのスタブが放棄されてるので、メンテナもそう考えてるんだろうな

zshはなんかもう違う気がする
2022/09/09(金) 20:00:02.08
思い付いた勢いでmkshとやら入れてmksh -c print mkshprint "$@"するだけのラッパ書いてみた、まあ変数アサインとかビルトイン特権な機能は諦めるとして
なかなか使い心地よさそうな感じ
2022/09/09(金) 20:19:55.96
ksh も bash も文法の大半は同じで、OS の差違、シェルの差異、バージョンの差異、どれが原因で動きが違うのかわからんのよね。
30−31 の人、凄そう。
そのシステムで利用されているシェルから、欲しいとこだけパクるしかしてないので、違いがよくわからない。
2022/09/09(金) 22:23:11.14
>>32
買いかぶってもらって悪いけど、普通に間違ってんだわ
mksh -c 'print "$@"' mkshprint "$@"
mkshに2つ目の@をバラして位置パラメータをセット、1つめの@はmksh自身にもう一度単語分割してもらう

--helpを受け付けずすぐに使い方忘れそうなんで、--helpの時はman mkshからsedで切り出して表示するようにした
2022/09/09(金) 22:41:33.48
というか俺の思ってたフォーマット系最強コマンドとしてのprintはほぼzshの拡張機能だったらしい、zshも入れてみるか…
mkshのはフォーマット機能弱いけど、ヒストリやコプロセスに出力送れたりビルトインとして使えれば非常に強力なもの

bashの配列変数に入ったfdでやり取りする方式のcoprocより使いやすいかもしれん、コプロセスを非常に繁用するので、もしかしたら対話シェルにbashから乗り換える事になるかも
しかし何分ネット情報が少ない…
2022/09/09(金) 22:48:52.84
普及してるbashでもcoprocのような高度な機能使ってる奴そんなおらんぞ
2022/09/09(金) 22:57:28.40
色んなシェル触るのは大事だと思う、例えゴミクズだろうと名が通ってるものならば

例えば酔狂で一日(t)csh縛り経験するだけでも古文書の理解度が全然変わってくる
2022/09/10(土) 11:27:13.02
>>33
何したいのか知らんが
alias print="mksh -c 'print \"\$@\"' --"
でいいんだろ?

もしくはシェルスクリプトに書けばいいだけ
#!/usr/bin/env mksh
print "$@"
2022/09/10(土) 11:49:13.97
>>37
後者は等価だけど、前者は展開で壊れね?
39名無しさん@お腹いっぱい。
垢版 |
2022/09/10(土) 14:11:10.32
>>38
動作確認って知ってる?
2022/09/10(土) 17:05:38.82
なぜ土曜日に動作確認してるんだい?
41名無しさん@お腹いっぱい。
垢版 |
2022/09/10(土) 17:06:38.51
>>40
自宅にパソコンないんか?
すまんかったw
ひどいことを聞いてしまったwww
2024/03/27(水) 19:35:20.52
一足早くpassword時代に比べると皆アホほど上手くやりますとしか聞こえない
43名無しさん@お腹いっぱい。
垢版 |
2024/03/27(水) 19:37:34.60
さみねほもをゆけゆわれろてすとけめへきあちやおのよえおやしつみむしみきせらむふぬふぬりわはあかおむ
44名無しさん@お腹いっぱい。
垢版 |
2024/03/27(水) 21:07:36.80
怪我してたかわからんわ
2024/03/27(水) 21:18:48.47
絶対どっかで落ちるわ
2024/06/01(土) 06:12:02.13
>>35
プロセス投げるのがシェルの本懐であってだな…
きめ細かな制御やプロセスに名前付けたハンドルで扱えんのは今時時代遅れすぎる
2024/06/25(火) 16:10:10.87
dtksh今何処
48名無しさん@お腹いっぱい。
垢版 |
2024/08/24(土) 01:22:10.77
kshはボーンシェルを改良したもの
2024/09/01(日) 20:38:50.21
>>47
オープンソースかCDE依存でなければなあ
50名無しさん@お腹いっぱい。
垢版 |
2024/10/14(月) 09:02:57.00
コーンポタージュ
レスを投稿する