2012-03-23 7 views
1

私は非常に簡単な質問があります。私は入力として整数を受け付けるプログラムを持っています(CRが続きます)。私はこのプログラムを何度も実行したいと思います。この整数値を毎回異なる(ランダムな)番号にします。ですから、シェルスクリプトですべてをラップしたいのですが、実際に実装する方法はわかりません。私は次のコードの行に沿って何かを考えていますが、12345は$ RANDOMに置き換えられました。私はどうすればいいのですか?事前に おかげでたくさん、 S.あなたが使用したいスクリプト内のプログラムに乱数を渡す

#!/bin/bash 
i=1 
while [ $i -le 100 ] 
do 
./recomb100runs << !! 
12345 
!! 
done 
+5

'$ RANDOM'を使ってみましたか? ;) – FatalError

+0

私が知っていることから、その間のすべて! !! "そのまま"プログラムに渡されます。ですから、12345を$ RANDOMに置き換えると、プログラムは文字通り乱数ではなく$ RANDOMを取得します。だから私はエラーが発生します。私は正しい? – Newcolour

+0

heredoc文字列の変数拡張はまだ実行されています。 'cat'でテストすることができます。 – FatalError

答えて

4

$((RANDOM))

#!/bin/bash 

i=1 
while [ $i -le 100 ] 
do 
cat << !! 
$((RANDOM)) 
!! 
done 

(あなたはランダムな入力を実行するスクリプトと「猫」を交換してください - あなたにcase "./recomb100runs")

+0

ブリリアント!本当にありがとう! – Newcolour

+3

算術コンテキストを使う必要はありません。 '$ RANDOM'は完全にうまく動作します。この場合、here-docの代わりにhere-stringを使う方が少し優雅です: 'cat <<< $ RANDOM' –

関連する問題