寫了個生成1w個隨機數字並寫入文件的shell腳本:
#!/bin/bash
for i in $(seq 1 10000)
do
echo " $i $(($RANDOM%100+1)) " >> test.dat ;
done
運行的時候卻報錯:
1.sh: 5: 1.sh: arithmetic expression: expecting primary: "%100+1"
百度谷歌之,如下,換成:
bash 1.sh
原因:
RANDOM 是 bash
函數,在 dash
裏還沒聲明,Debian
和Ubuntu
默認用dash
作爲/bin/sh
的解釋器,所以報錯。