- ベストアンサー
シェルスクリプトで$RANDOMの値が表示できません
#!/bin/sh DATA=$RANDOM echo $DATA としたとき,何も出力されないでスクリプトが終了してしまいます.bashモードでコンソールから echo $RANDOM とやれば乱数は表示されます. どのようにすれば表示させることができるのでしょうか?
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
shebangを #!/bin/bash に変えてみるとどうなりますか?<=補足要求1 $ ls -l /bin/sh の結果はどうなりますか? <=補足要求2 fedora5とvine3.2で $ ls -l /bin/sh と打ったら両方の場合とも lrwxrwxrwx 1 root root 日付 /bin/sh -> bash と表示されました。 #2さんと同じく質問欄に書かれているスクリプトでちゃんと表示されています。 なので/bin/shが変なところにシンボリックリンクされているのではないかと思うんですが???
その他の回答 (3)
- FoggyMountain
- ベストアンサー率21% (79/372)
>使用しているsolasis 8では 「Solaris系OS」のカテゴリで質問しろよw。
- mac_res
- ベストアンサー率36% (568/1571)
$ uname -a Linux www 2.6.12-1-686 #1 Tue Sep 27 12:52:50 JST 2005 i686 GNU/Linux ですが、件のスクリプトをそのままCopy & Pasteしてtest.shとし、 chmod +x test.sh ./test.sh で正しく表示されています。 お使いのシステムの詳細を教えてください。
- sanaqa
- ベストアンサー率30% (13/42)
こんにちわ。 #!/bin/sh DATA=$RANDOM echo $DATA を #!/bin/sh $DATA=$RANDOM echo $DATA にしたらできませんかね? うろ覚えなので、間違ってたらごめんなさい。
補足
umasikajiroさん回答ありがとうございます 補足要求1: bashに変更して試してみたところ無事動かすことができました. 補足要求2: -r-xr-xr-x 4 root root 95316 Nov 6 2002 /bin/sh* となりました.使用しているOSはsolaris 8です 使用しているsolasis 8ではshがbashにシンボリックリンクされていなかったようです.