当我运行以下脚本时,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"
答案 0 :(得分:4)
您的终端可能运行与/bin/sh
不同的shell。例如,在Ubuntu上,/bin/sh
运行/bin/dash
,但$RANDOM
无效。您必须运行/bin/bash
或/bin/ksh
才能使其正常运行。
答案 1 :(得分:1)
从终端运行时,您可能使用bash,而不是sh。
似乎sh不支持$RANDOM
,因此您在脚本中分配的所有变量都将被分配空字符串。尝试将脚本的第一行更改为#!/bin/bash
(或安装bash时)。