1

我正在尝试编写一个脚本来生成一个随机数,然后创建一个名为该随机数的目录并复制到一个文本文件中。我已经尝试了所有我能想到的分配变量但每次我得到

RANDOM: command not found
RANDOM: command not found
bash: //small.txt: No such file or directory
bash: //small.txt: No such file or directory

下面是我的代码

#!/bin/bash
one=$(RANDOM)
two=$(RANDOM)

mkdir -p $one
mkdir -p $two
echo “BIGGGGGONgrery54y457457yytewrterytyutytytyhtytryrtyrthrthtrhrtyhrthrhtrhrthrthrthrthE”| > $one/small.txt
echo “B”| > $two/small.txt
echo "finish -l test me "
done
4

2 回答 2

7

这不是非法语法(它确实意味着什么),它只是你想要的错误语法。而不是$(RANDOM)你想要的${RANDOM},甚至只是$RANDOM

当您使用$()它时,它是命令替换,因此 bash 实际上是在尝试执行名为 的命令RANDOM,这就是为什么您找不到命令并且变量中没有任何内容的原因。

您的 I/O 重定向也看起来错误...写入您应该使用的文件:

echo "something" > file

请注意,我删除了|.

于 2012-11-01T13:31:04.037 回答
1

FatalError 涵盖了语法问题,这里有一些相关的东西——如何在一个范围内生成一个随机数(在这个例子中,1-100):

NUMBER=$(( ( $RANDOM % 100 )  + 1 ))

另请参阅:http ://www.cyberciti.biz/faq/bash-shell-script-generating-random-numbers/了解有关 shell 中随机数生成的其他方法/信息

于 2012-11-01T13:34:52.747 回答