Q&A
4回答
2829閲覧
総合スコア8
bash(Bourne-again-Shell)は sh(Bourne Shell)のインプリメンテーションに様々な機能が追加されたシェルです。LinuxやMac OS XではBashはデフォルトで導入されています。
1グッド
1クリップ
投稿2015/08/07 13:26
1
シェルの問題です どうしたらいいのかわかりません ./count.bash N と実行すると1からNまでの整数を出力するプログラムcount.bash
bash では1から6までの乱数rを生成するために let r=(RANDOM % 6)+1 を実行します。これを参考にしてさいころを2つふるプログラム dice.bashをさくせいせよ です 手の付け方もわからない状態です よろしくお願いします
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
質問へのコメント
回答4件
0
#!/bin/bash
とすると、$1にはN、$2にはMの引数で記述した値が入ります。 (エラー処理はしていませんので大変危険なシェルプログラムです)
% chmod +x count.bash dice.bash % ./dice.bash 6
投稿2015/08/08 14:29
総合スコア1768
まず random.bash を作ってみました。 その後に、random.bash を呼び出す形で dise.bash を作ってみました。 (dis.bash の中で、 random.bash で行っている処理を書いてしまった方が簡単ですが)
randam.bash
bash1#!/bin/bash 2# 1 から $1 までの整数を出力する 3let r=$(( $RANDOM % $1 + 1 )) 4echo ${r}
bash
1#!/bin/bash 2# 1 から $1 までの整数を出力する 3let r=$(( $RANDOM % $1 + 1 )) 4echo ${r}
dise.bash
bash1#!/bin/bash 2d1=`./randam.bash 6` 3d2=`./randam.bash 6` 4echo ${d1} ${d2}
1#!/bin/bash 2d1=`./randam.bash 6` 3d2=`./randam.bash 6` 4echo ${d1} ${d2}
実行例:
$ ./dise.bash 6 2 $ ./dise.bash 2 2 $ ./dise.bash 1 1 $ ./dise.bash 3 6
投稿2015/08/07 23:38
総合スコア22328
./count.bash N と実行すると1からNまでの整数を出力するプログラムcount.bash
数字でない物が指定されたときの処理を省くとして、縦に表示するなら、
bash1seq $1
1seq $1
横に表示するなら、
bash1echo `seq $1`
1echo `seq $1`
これを参考にしてさいころを2つふるプログラム dice.bashをさくせいせよです さいころを振ってどうしたいのか?振って表示するだけなら、
bash1let r=(RANDOM % 6)+1 2echo 1つ目のさいころは、$r 3let r=(RANDOM % 6)+1 4echo 2つ目のさいころは、$r
1let r=(RANDOM % 6)+1 2echo 1つ目のさいころは、$r 3let r=(RANDOM % 6)+1 4echo 2つ目のさいころは、$r
投稿2015/08/07 21:56
総合スコア86461
はじめまして。 bashで良いのでしょうか?環境はLinux等のUNIX環境でしょうか。 以下のようなスクリプトを作成して実行してみてください。
f=$(( $RANDOM % 6 + 1 )) s=$(( $RANDOM % 6 + 1 ))
% chmod +x saikoro.sh % ./saikoro.sh
投稿2015/08/07 14:01
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
まだベストアンサーが選ばれていません
アカウントをお持ちの方はログイン
15分調べてもわからないことはteratailで質問しよう!
ただいまの回答率85.29%
質問をまとめることで思考を整理して素早く解決
テンプレート機能で簡単に質問をまとめる
シェルプログラミングでわからない問題です
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。