• ベストアンサー

Solaris5.6 bannerコマンドで文字列を流れるように表示するには?

Solaris5.6上の Cシェルプログラムで、 bannerコマンドと whileと、clearコマンド使用して 文字が流れるようにしたいのですが、いまいち上手く いきません。 何か良い方法があれば教えて下さい。

質問者が選んだベストアンサー

  • ベストアンサー
  • gaktank
  • ベストアンサー率65% (23/35)
回答No.2

clearでなく、CRコードを使ってみた例です。1文字ずつ左から右へ流れていきます。 --------------- #!/bin/csh set N=20 set STR=$1 while ( $N > 0 )  printf "$STR\015"  @ N= $N - 1  set STR=" $STR"  sleep 1 end --------------- ただし「sleep 1」だと動きが遅いため、流れているように見せるためには、msec単位でwaitできるモジュールをC等で作るか、while文でnopループを作る必要がありそうです。 sleepの代わりのnopループ例: ---------------  set foo=100  while ( $foo > 0 )   @ foo= $foo - 1  end ---------------

bluckyu
質問者

お礼

ありがとうございます。 とても参考になりました。 もうひとつ教えて頂ければなんですけど、 左から右へ文字が現れる様に bannerコマンド風に printfで出来たり しますか?無理であれば良いです。

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • gaktank
  • ベストアンサー率65% (23/35)
回答No.1

banner文字が「左から右へ」流れる、ということでしょうか…? bannerだと流れの見え方があまりキレイではないですが、やるとしたらこんな感じでしょうか。 --------------- #!/bin/csh set STR=$1 set LEN=11 set i=0 while ( $i < $LEN )   clear   banner "$STR"   @ i= $i + 1   set STR=" $STR" end ------- printfとか使うと少し見栄えが良いかもしれません。

bluckyu
質問者

お礼

回答ありがとうございます。 できれば、printfバージョンも教えて頂けないでしょうか?宜しくお願いします。

すると、全ての回答が全文表示されます。

関連するQ&A