1

当我运行以下脚本时,echo 不显示任何内容,我不知道为什么。如果我只是将它输入到终端中,它就可以工作,而不是从 shell 脚本中输入。请需要一些见解。我可能累了,但我很确定这应该有效:

#!/bin/sh
for n in `seq 1 10`
do
   r=$RANDOM
   t=$RANDOM
   s=$RANDOM
   f=$RANDOM
   echo "$r $t $s $f"
done
   echo "Done"
4

2 回答 2

4

您的终端可能运行的 shell 与/bin/sh. 例如,在 Ubuntu 上,/bin/sh运行/bin/dash,但$RANDOM在那里不起作用。您必须运行/bin/bash/bin/ksh使其工作。

于 2013-04-09T10:00:46.367 回答
1

从终端运行时,您可能使用 bash,而不是 sh。

似乎 sh 不支持$RANDOM,因此您在脚本中分配的所有变量都将被分配空字符串。尝试将脚本的第一行更改为#!/bin/bash(或安装 bash 的任何位置)。

于 2013-04-09T10:00:17.483 回答