On Sun, 18 May 2003 01:45:14 +0900 "Masahiro Inoue" <miyabi.-.inoue@xxxxxxxxx> wrote: > pcinitrdについて質問があります。 > > スクリプトの175行目あたりに > strip_cp --strip-all $ROOT/bin/ash $MNT/bin/sh > とあるのですが > strip_cp --strip-all $ROOT/bin/bash $MNT/bin/sh > の間違いでしょうか? > > bashにしないとならないような気がしますが・・・ pcmciaもinitrdも詳しくありませんが、このスクリプトでは、 ramdiskを作成するに当たってBourne-Shell互換のシェル(/bin/sh) として Ash(/bin/ash)をstripしてコピーしているのだと思います。 間違いと思われるのは、Vineでの /bin/sh は、bashへの シンボリックリンクであるからだとおもいますが、/bin/shは あくまでもshであって、Bashそのものである必要はないとおもいます。 # 私は、/bin/sh が bashへのシンボリックリンクであるこに違和感を覚えました。 /bin/shとして、Bash,AshのどちらがよりBourne-Shellに近い動作を するかわかりませんが、この場合、モジュールサイズの小さい事が 重要なのだとおもいます。 問題は、#!/bin/sh で始まるシェルスクリプトはどう書くべきかだとおもいます 。ちなみに、Vine2.6では man sh とすると、Bash と同じです。また、manペー ジには、bash と 昔ながらのバージョンのshとの間にはちょとした違いがいくつ かあると書かれています。 Vineに直接関係ないかも知れませんが、 結構大事な事だとおもいますのでレスしました。 以上、参考になれば幸です。 -- KAMEI, Masahisa E-mail:mkamei@xxxxxxxxxxxxx