vine-users ML アーカイブ



[vine-users:052002] Re: Vine 2.5 と 2.1.5 におけるシェルスクリ プトの非互換性?について

  • From: "OOSATO,Kazzrou" <kazz@xxxxxxxxxxxxxx>
  • Subject: [vine-users:052002] Re: Vine 2.5 と 2.1.5 におけるシェルスクリ プトの非互換性?について
  • Date: Mon, 8 Jul 2002 03:00:53 +0900
おおさとです。

> From: yoshinobu syouzi <yoshino@xxxxxxxxxxxxxxxxx>
> Subject: [vine-users:051999] Vine 2.5 と 2.1.5 におけるシェルスクリプトの非互換性?について
> Date: Mon, 08 Jul 2002 00:17:02 +0900
> Message-ID: 3D285B6E.2375602C@xxxxxxxxxxxxxxxxx

> Vine 2.0、bash-1.14.7-22vl5.1でつくり、Vine 2.1.5上では、
> 問題のみえないシェルスクリプトが、Vine 2.5上では、
> 通らなくなりました。unexpected tokenがあると言われてしまいます。
> どうも、条件文の入れ子でおかしくなってるような感じなんですが…。
> 
> なにか、仕様でも変わったのでしょうか?適当な情報を探すことができません。
> それとも、やっぱりなにか大ボケかましてるんでしょうか?
> 
> 件のスクリプトは、ftp://ftp.karing.jp/pub/mkbootdev-0.0.10.tar.gz
> なのですが、どうかお暇な方、見ていただけないでしょうか。

596 行目でしょうか。

誤: { fdformat /dev/fd0H1440;mke2fs -m 0 /dev/fd0H1440 } ||{
正: { fdformat /dev/fd0H1440;mke2fs -m 0 /dev/fd0H1440; } ||{

bash の man page によると、
       { list; }
              list が単に現在のシェル環境で実行されます。 list の最後は
              改行文字かセミコロンでなければなりません。これはグループコ
              マンド(group command) と呼ばれます。

以前の bash ではここがルーズだったようなのですが、最近は厳格に
扱われるようです。
まだ他にもあるかもしれませんが....。

-- 
  ;      kazz@xxxxxxxxxxxxxx
  ;     oosato@xxxxxxxxxxxxx
  ; 大里和朗@江戸川区西葛西