我正在为我的公司编写安装程序,以便我们可以轻松设置新机器.其中一部分是通过各个perl -MCPAN -e 'install "Module::Name"'命令安装的一系列CPAN模块.我创建了一个模块数组(大约200个),它通过bash脚本中的foreach循环安装.但是,我现在想在启动新模块之前检查模块安装的退出状态,这可能吗?这是我到目前为止所尝试的:
for i in "${CPANmodules[@]}"
do
echo -e "\033[1;32mInstalling CPAN module $i \033[0m"
perl -MCPAN -e "install \"$i\""
if [ $? -ne 0 ]
then
echo "Error installing module $i"
fi
done
Run Code Online (Sandbox Code Playgroud)
我也试过以下,没有成功:
perl -MCPAN -e 'install "Madeup::Modulename"'
perl -e 'print $?'
Run Code Online (Sandbox Code Playgroud)
但是,即使模块甚至不存在,它也始终返回0.
任何帮助,将不胜感激.
以此代码为例:
Random rnd = new Random();
int rndNumber = rnd.Next(0,101);
Run Code Online (Sandbox Code Playgroud)
可以预期会发生以下任何一种情况:
-rndNumber包含0到101之间的随机整数
-rndNumber包含1到100之间的随机整数
实际上发生的是,rndNumber包含0到100之间的随机整数.为什么会这样?
我明白上限是独家的,但为什么下限包括在内?为什么这不一致?