我是bash的新手,正在编写简单的脚本。。
我在脚本中使用以下命令:
php -i | sed -n '/^Loaded Configuration File/s/.*=> //p'
输出如下:
/etc/php/7.4/cli/php.ini
我想去掉版本部分,并将其保存到一个变量中,不带点。
我想制作一个只有php版本的变量,例如,在上面的结果中,我的变量应该是:
version=$"74"
如果php版本为7.3,则版本变量应为73。。等等
有什么办法吗?
如果您关心命令行版本,并且想要它的版本,您可以通过它运行PHP代码(-r
开关(并直接获取信息:
VERSION="$(php -r 'echo PHP_MAJOR_VERSION, PHP_MINOR_VERSION;')"
printf '%sn' "$VERSION" # 74n
这使您无需通过管道进入sed(一般来说,这不是一个坏主意,但尽可能少做一些必要的事情,而且PHP已经知道它的版本(。
- https://www.php.net/manual/en/features.commandline.options.php
- https://www.php.net/manual/en/reserved.constants.php
使用php:
php -r 'print preg_replace("/[^0-9]/", "", php_ini_loaded_file());'
输出:
74