Hello

if I read the code, what I understand is you want to re use the $2

then those 2 lines, should be 1 , joined by |

command1 | command2

you have

command1
command2

not sure why work manually but as is it shouldn't.

The error is because the quotes ' are too many..

try with "" around -F

now, AWK $2 is not the user, ls -l, give you the user in $3


If what you want, is say.. replace DB_USER with the name of the user that
own that php file.. sorry if I got it wrong.. then this works:

z2-3:oracle7 kikitux$ cat html/wp-config.php



'DB_USER'



z2-3:oracle7 kikitux$ vagrant provision



==> default: Running provisioner: shell...



    default: Running: inline script



==> default: vagrant



z2-3:oracle7 kikitux$ cat html/wp-config.php



'vagrant'


Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "kikitux/oracle7"
  config.vm.synced_folder ".", "/var/www"
  config.vm.provision "shell", inline: <<-SHELL
    USER="`ls -l /var/www/html/wp-config.php |awk '{print $3}'`"
    echo $USER
    sed -e "s/DB_USER/$USER/g" -i /var/www/html/wp-config.php
  SHELL
end



On Mon, Jan 26, 2015 at 4:11 AM, Sterling Anderson <[email protected]>
wrote:

> I'm trying to grab the DB_USER and DB_PASSWORD fields from a wp-config.php
> file during provisioning. I cannot get this information out during
> provisioning. Below is the Vagrantfile stripped down to almost nothing
> using awk. The following sed command has also been tried as a replacement
> for the awk command.
>
> sed -n "/^ *define( *'DB_USER', *'\([^']*\)'.*/ {s//\1/p;q;}" /var/www/
> html/wp-config.php
>
>
> Vagrant.configure(2) do |config|
>   config.vm.box = "ubuntu/trusty64"
>   config.vm.synced_folder ".", "/var/www"
>
>   config.vm.provision "shell", inline: <<-SHELL
>     ls -l /var/www/html/wp-config.php
>     awk -F '\'' '/DB_USER/ {print $2}' /var/www/html/wp-config.php
>   SHELL
>
> end
>
> Both commands work when run from the VM after it is up. However, I get
> errors like the following when trying to run them during provisioning.
>
> ==> default: /tmp/vagrant-shell: line 2: unexpected EOF while looking for
> matching `''
> ==> default: /tmp/vagrant-shell: line 3: syntax error: unexpected end of
> file
> The SSH command responded with a non-zero exit status. Vagrant
> assumes that this means the command failed. The output for this command
> should be in the log above. Please read the output to determine what
> went wrong.
>
>
> The file is located at the path specified in the synced folder.
>
> Any ideas on what I need to do to get this working?
>
> --
> You received this message because you are subscribed to the Google Groups
> "Vagrant" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Vagrant" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to