當我運行以下腳本時,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