[Subject Prev][Subject Next][Thread Prev][Thread Next][Subject Index][Thread Index]

[vine-users:020077] rm --interactiveで、"nos"と答えてもファイルが削除される。


こんにちは、maegawaです。

Vineでは、デフォルトで、~/.bashrcにおいて、
   alias rm='rm -i'
が設定されていると思いますが、

   $ rm hoge
   rm: `hoge'を削除してもよろしいですか(yes/no)? 

と聞かれた時に、例えば、"nos"などと答えても、
ファイルが削除されるのですが、どうしてでしょうか?


jman rmでは、
       -i, --interactive
              ファイルを削除していいか問い合わせる。'y' か 'Y' を
              返さなければファイルを削除しない。
とあります。

私が感じた範囲では、答えの最後に"s"があると削除されてしまう
ような気がしています。

私の環境は、Vine Linux 1.1で、fileutils-3.16_jp-9です。
ソースをダウンロードして、眺めてみたんですが、

int
rpmatch (response)
{

(snip)

  return ((result = try (response, _("^[yY]"), 1, 0,
                         &yesexpr, &yesre))
          ? result
          : try (response, _("^[nN]"), 0, -1, &noexpr, &nore));
}

の条件演算子の部分がわかりませんでした。
なぜ、"nos"で削除されるのかわかりません。私の理解が足りない
せいだとは思うのですが、どなたか教えて頂けないでしょうか?

# 別に大変な目に遭ったわけではないです。
-- 
maegawa
mailto:maegawa@allnet.ne.jp
http://user1.allnet.ne.jp/~maegawa

この情報があなたの探していたものかどうか選択してください。
yes/まさにこれだ!   no/違うなぁ   part/一部見つかった   try/これで試してみる

あなたが探していた情報はどのようなことか、ご自由に記入下さい。特に「まさにこれだ!」と言う場合は記入をお願いします。
例:「複数のマシンからCATV経由でipmasqueradeを利用してWebを参照したい場合の設定について」
Follow-Ups: