使用shell生成隨機數

2022-08-17 11:15:14 字數 1371 閱讀 5158

1 #!/bin/bash

2for i in `seq

1 $1`3

do4for j in `seq

1 $2`5

do6 s=$(($random%100))7

echo -e "

$i,$j\t$s

" >>m_$1_$2

8done

9done

第1行:#!/bin/bash是指此指令碼使用/bin/bash來解釋執行。其中,#!是乙個特殊的表示符,其後,跟著解釋此指令碼的shell路徑。bash只是shell的一種,還有很多其它shell,如:sh,csh,ksh,tcsh,...

第2行:$1表示從命令列中讀取的第乙個引數,在linux中$表示取得某個變數的值。seq 是linux 中乙個預設的外部命令,一般用作一堆數字的簡化寫法。seq 1 $1 表示1到$1的所有數字(兩端都包括),由於seq是乙個系統命令,在shell程式設計中,如果使用了系統命令就要使用`(esc下面的符號,不是單引號)(seq就是系統命令)。

第6行:random是linux的系統隨機變數,是乙個5位的隨機數。

第7行:$1(第1個引數)、$2(第2個引數)就是從命令列中讀取到的引數。echo就是列印資訊到目標裝置的。

echo:預設列印裝置是顯示器,echo "hello"就是列印資訊到顯示器。echo "hello" >>m_1就是列印資訊到檔案m_1。若列印的字串出現了以

下字元,則特別加以處理,而不會將它當成一般

文字輸出,這時候要加-e引數:

\a 發出警告聲;

\b 刪除前乙個字元;

\c 最後不加上換行符號;

\f 換行但游標仍舊停留在原來的位置;

\n 換行且游標移至行首;

\r 游標移至行首,但不換行;

\t 插入tab;

\v 與\f相同;

\\ 插入\字元;

\nnn 插入nnn(八進位制)所代表的ascii字元;

當完成shell程式設計之後,將檔案儲存,字尾名為.sh。假設為test.sh

2)最後一步要對這個檔案賦予可執行許可權,並且所有設定為所有使用者/使用者組都可以訪問:

chmod a+x test.sh
否則會提示許可權不夠。(不設定也是可以的,可以直接使用bash test.sh來執行)

3)還有乙個cat的知識點:

cat test.sh >> test2.sh
將test中的內容插入到test2.sh中,如果沒有test2.sh就建立這個檔案。

4)執行時的截圖如下:

5)結果如下:

shell 生成隨機數

用shell生成隨機數的方法有很多,但生成數字隨機數比較方便的方法還是以下幾種 1.使用shell的內建變數 random 生成0 32767之間的整數隨機數 echo random echo random 50 1 隨機生成從1 50之間是數 2.借助時間戳 date s 或 date s n 生...

隨機生成隨機數

現畫乙個command命令按鈕,進行貼上。private sub command1 click show me scale 0,0 18,8 me.auto redraw true me.draw mode 2 circle 3,4 3,vb red me.auto redraw false lin...

使用 dev random生成隨機數

很多庫例程產生的 隨機 數是準備用於 遊戲等等 它們在被用於金鑰生成一類的安全函式時是不夠隨機的。其問題在於這些庫例程使用的演算法的未來值可以被攻擊者輕易地推導出來 雖然看起來它們可能是隨機的 對於安全函式,需要的隨機值應該是基於量子效應之類的確實無法 的值。linux核心 1.3.30以上 包括了...