我正在编写一个Bash脚本来从每个网站的config.PHP文件中读取数据库名称,然后从备份库中导入数据库.
我尝试使用source config.PHP,但它似乎无法识别PHP变量.
任何帮助,将不胜感激.
解决方法:
非常简化的版本如下:
cat config.PHP
$variable1 = 'foo with bar';
$variable1 = 'foo2 with bar2';
将Bash $variable1设置为config.PHP中$variable1的最后匹配实例,以防它已被重置.如果要将其更改为第一个匹配项,只需在以下代码中将tail -1更改为head -1:
variable1="$(grep -oE '\$variable1 = .*;' config.PHP | tail -1 | sed 's/$variable1 = //g;s/;//g')"
通过echo确认Bash变量:
echo "$variable1"
'foo2 with bar2'
请注意,这主要适用于字符串.有许多类型的PHP变量无法直接转换为Bash变量.上面的代码将获取config.PHP中引用的最后一个$variable1.就像我说的那样,如果已经多次设置了该变量,则可以通过在设置变量的Bash命令中切换head或tail来设置第一个值或最后一个值.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。