bash echo不显示值

时间:2013-04-09 09:54:07

标签: bash input echo sh

当我运行以下脚本时,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"

2 个答案:

答案 0 :(得分:4)

您的终端可能运行与/bin/sh不同的shell。例如,在Ubuntu上,/bin/sh运行/bin/dash,但$RANDOM无效。您必须运行/bin/bash/bin/ksh才能使其正常运行。

答案 1 :(得分:1)

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

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