我正在通过其API创建DigitalOcean小滴。我正在使用他们的“ user_data”功能在创建时运行命令。
这个问题是“ sed”命令对此不起作用,我不明白为什么。如果您通过命令行(而不是在脚本中)输入命令,则效果很好。
以下代码是我正在使用的代码。不用管\'
我在使用PHP,所以我必须包括那些。
无论如何,我知道脚本正在运行,因为已成功创建“已安装”文件。只是sed命令由于某种原因未运行。
'user_data' => '
#cloud-config
runcmd:
- sed \'/DB_DATABASE/s/=.*/=test/g\' /var/www/html/app/.env
- sed \'/DB_USERNAME/s/=.*/=test/g\' /var/www/html/app/.env
- sed \'/DB_PASSWORD/s/=.*/=test/g\' /var/www/html/app/.env
- touch /var/www/html/app/storage/installed
'
预期结果是使sed命令起作用并相应地更改值。实际结果是该命令未运行,或者根本不起作用。
如果您需要更多信息,请告诉我!
谢谢