質問: なぜlinuxでkornシェルが使えるのでしょうか? linux初心者です。 シェルについてわからないことがあり、質問させていただきます。 linux(red hatを使っています)の /bin/shと/bin/cshは、それぞれ/bin/bash、/bin/tcshのシンボリックリンクファイル、 なのに対して、なぜkshだけは/bin/kshそのままなのでしょうか? また、kornシェルはat&t社が開発したものだそうですが、 これはlinuxで使う際にライセンスの問題に触れないのでしょうか? よろしくお願いいたします。
回答: なぜシンボルリンクになっているかと言うと、bashはshの、cshはtcshの、それぞれ機能拡張版という形になっています。それぞれ元になったシェルの後方互換は保っているために、たとえばアプリによっては/bin/shというパスが内部で使われていても、その代替としてbashが処理を肩代わりするために、シンボルリンクとして“擬似的に”shをbin下に置いているんです。 kornシェルのライセンスの経緯については、詳しくありませんが、確かlinuxに搭載されているkshはベル研究所のdavid korn氏が作った物をat&tが製品としてリリースしたのより、以前のバージョンを元に作られたクローンじゃなかったかと記憶しています。 ライセンス的に問題のあるものは、含まれていないと思いますよ?どうしても気になるのであれば、redhatに問い合わせをしてみるとか、コミュニティーに直接聞かれたほうがいいかと思います。(たとえばfedora projectとか)