当我运行以下脚本时,echo不显示任何内容,我不知道为什么。如果我只是将它输入到终端中,而不是从shell脚本中输入,它就可以工作。需要一些见解。我可能会很累,但我很确定这应该工作:bash回显不显示值
#!/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"
当我运行以下脚本时,echo不显示任何内容,我不知道为什么。如果我只是将它输入到终端中,而不是从shell脚本中输入,它就可以工作。需要一些见解。我可能会很累,但我很确定这应该工作:bash回显不显示值
#!/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"
您的终端可能运行与/bin/sh
不同的shell。例如,在Ubuntu上,/bin/sh
运行/bin/dash
,但$RANDOM
在那里不起作用。您必须运行/bin/bash
或/bin/ksh
才能使其正常工作。
从终端运行时,您可能使用bash,而不是sh。
似乎sh不支持$RANDOM
,因此您在脚本中分配的所有变量都将被分配空字符串。尝试将脚本的第一行更改为#!/bin/bash
(或者安装了bash)。
感谢它现在的工作。我是用错了壳 – smac89 2013-04-09 10:07:28
我的壳工作正常运行,就像我说: **,如果我只是将它输入端子它的工作原理** 哦NVM,感谢那个家伙。我正在使用以下命令运行该脚本:** sh ./run.sh**而不是** bash ./run.sh ** – smac89 2013-04-09 10:02:51
@ Smac89:**比将正确的路径放到您的终端的shell到第一行的脚本。** – choroba 2013-04-09 10:04:36