问题描述
在我的 if-then-else 语句中传递 “大于或等于” 值时遇到困难,十进制整数作为 1 运行-liner 并卷曲PHPinfo.PHP 页面以检查域的PHP 版本是否大于或等于7.0。显然,在分配站点的主目录中创建了一个 PHP 信息文件 (PHPinfo.PHP)。这是我以人类可读的方式显示的命令:
read -ep "Enter the domain: " DOMAIN ;
PHPVERSION=$(curl -s https://$DOMAIN/PHPinfo.PHP | grep -ioP 'PHP version\s\K\d.\d') ;
if [ $PHPVERSION >= 7.0 ] ;
then
echo -e "PHP version at least 7.0? YES" ;
else
echo -e "PHP version at least 7.0? NO\nPHP version = $PHPVERSION" ;
fi ;
[~]# echo $PHPVERSION
7.0
这是我在尝试运行命令时使用/获得的测试/输出
如果 [ $PHPVERSION >= 7.0 ]
-jailshell: [: 7.0: unary operator expected
PHP version at least 7.0? NO
PHP version = 7.0
if [ $PHPVERSION -ge 7.0 ]
-jailshell: [: 7.0: integer expression expected
PHP version at least 7.0? NO
PHP version = 7.0
如果 [[ $PHPVERSION >= 7.0 ]]
-jailshell: Syntax error in conditional expression
-jailshell: Syntax error near `7.0'
if [[ $PHPVERSION -ge 7.0 ]]
-jailshell: [[: 7.0: Syntax error: invalid arithmetic operator (error token is ".0")
PHP version at least 7.0? NO
PHP version = 7.0
我可以让它像 >
或 -gt
一样正常工作,但我测试所需的 PHP 版本大于或等于 7.0。我在这里缺少什么?我也尝试过将 7.0 作为变量传递并以这种方式进行测试,但几乎在我所有的测试中都获得了相同的输出。我还尝试使用 echo 将 7.0 保存为变量并将其通过管道传输到 bc
中,但我认为我做得不对。变量周围的双引号似乎也没有帮助。我觉得这很简单,但我确实环顾了我能找到的关于这个主题的所有文章,但还没有想出任何有效的方法。感谢您的帮助。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)