小编Bif*_*ost的帖子

如何检查perl -MCPAN -e的返回值/退出状态?

我正在为我的公司编写安装程序,以便我们可以轻松设置新机器.其中一部分是通过各个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.

任何帮助,将不胜感激.

bash perl cpan return-value exit-code

5
推荐指数
1
解决办法
497
查看次数

为什么C#的随机下限包容性,但上限是否独占?

以此代码为例:

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之间的随机整数.为什么会这样?

我明白上限是独家的,但为什么下限包括在内?为什么这不一致?

c# random

4
推荐指数
1
解决办法
727
查看次数

标签 统计

bash ×1

c# ×1

cpan ×1

exit-code ×1

perl ×1

random ×1

return-value ×1