Move a file

I looked around here and could not find a similar example. please help.
My goal is to mv a file like so: mv /tmp/dev.log /usr/local/dev.log.tst
using Ruby 1.8.7

ruby /tmp/test
/tmp/test:8: syntax error, unexpected ')', expecting kDO_BLOCK

derek@derek-laptop:/tmp$ cat /tmp/test
#!/usr/bin/env ruby -w
require 'ftools';
require 'fileutils';

file="dev.log"
FileUtils.cp("#{file}", "#{file}.copied")
ZIPDIR = "/usr/local/"
FileUtils.mv("#{file}.copied",ZIPDIR"#{file}.tst")

···

--
Posted via http://www.ruby-forum.com/.

Hi,

···

Am Donnerstag, 13. Aug 2009, 10:48:10 +0900 schrieb Derek Smith:

ruby /tmp/test
/tmp/test:8: syntax error, unexpected ')', expecting kDO_BLOCK

FileUtils.mv("#{file}.copied",ZIPDIR"#{file}.tst")

                                     ^^^

Try it with something like (untested)

  "#{ZIPDIR}/#{file}.tst"
  File.join ZIPDIR, "#{file}.tst"

Syntax errors are the easiest to solve.

Bertram

--
Bertram Scharpf
Stuttgart, Deutschland/Germany
http://www.bertram-scharpf.de

Bertram Scharpf wrote:

Hi,

ruby /tmp/test
/tmp/test:8: syntax error, unexpected ')', expecting kDO_BLOCK

FileUtils.mv("#{file}.copied",ZIPDIR"#{file}.tst")

                                     ^^^

Try it with something like (untested)

  "#{ZIPDIR}/#{file}.tst"
  File.join ZIPDIR, "#{file}.tst"

Syntax errors are the easiest to solve.

Bertram

So in this line:

ZIPDIR"#{file}.tst"

you determined that you needed to use string interpolation for the
variable file, but because ZIPDIR is capitalized, you didn't think
string interpolation was necessary for that variable, and instead you
just wrote the variable next to the string?

···

Am Donnerstag, 13. Aug 2009, 10:48:10 +0900 schrieb Derek Smith:

--
Posted via http://www.ruby-forum.com/\.

7stud -- wrote:

Bertram Scharpf wrote:

Hi,

ruby /tmp/test
/tmp/test:8: syntax error, unexpected ')', expecting kDO_BLOCK

FileUtils.mv("#{file}.copied",ZIPDIR"#{file}.tst")

                                     ^^^

Try it with something like (untested)

  "#{ZIPDIR}/#{file}.tst"
  File.join ZIPDIR, "#{file}.tst"

Syntax errors are the easiest to solve.

Bertram

So in this line:

ZIPDIR"#{file}.tst"

you determined that you needed to use string interpolation for the
variable file, but because ZIPDIR is capitalized, you didn't think
string interpolation was necessary for that variable, and instead you
just wrote the variable next to the string?

This was what did it!
Thank you Sir!

file="dev.log"
FileUtils.cp("#{file}", "#{file}.copied")
ZIPDIR = "/usr/local/"
FileUtils.mv("#{file}.copied","#{ZIPDIR}#{file}.ts

···

Am Donnerstag, 13. Aug 2009, 10:48:10 +0900 schrieb Derek Smith:

--
Posted via http://www.ruby-forum.com/\.

Hi,

···

Am Freitag, 14. Aug 2009, 08:46:49 +0900 schrieb Derek Smith:

7stud -- wrote:
> Bertram Scharpf wrote:
>> Am Donnerstag, 13. Aug 2009, 10:48:10 +0900 schrieb Derek Smith:
>>>
>>> FileUtils.mv("#{file}.copied",ZIPDIR"#{file}.tst")
>>
>> Try it with something like (untested)
>>
>> "#{ZIPDIR}/#{file}.tst"
>> File.join ZIPDIR, "#{file}.tst"
>>
>> Syntax errors are the easiest to solve.
>
> ZIPDIR"#{file}.tst"
>
> you determined that you needed to use string interpolation for the
> variable file, but because ZIPDIR is capitalized, you didn't think
> string interpolation was necessary for that variable, and instead you
> just wrote the variable next to the string?

This was what did it!
Thank you Sir!

FileUtils.mv("#{file}.copied","#{ZIPDIR}#{file}.ts

I think another slash won't hurt in case you occur to forget it.

  FileUtils.mv("#{file}.copied","#{ZIPDIR}/#{file}.tst"
                                         ^^^

Bertram

--
Bertram Scharpf
Stuttgart, Deutschland/Germany
http://www.bertram-scharpf.de