2017-05-08 2 views
0

Was ich versuche zu tun:In Ruby, wenn ich eine Datei an eine Variable übergeben

date = `date +%Y%m%d` 
Path = "/home/sajeesh/jam_#{date}" 

if File.file?(Path) 

     watch_for(Path, /FATAL/) 

    else 

     exit 1 
end 

Also, wenn ich den Zustand zu tun; anstelle von jam_20170508 nimmt es Marmelade _ # {date} und sein Beenden; eine mögliche Problemumgehung dafür.

Danke!

+0

Abgesehen: Es ist in Ruby nicht notwendig, um die 'date' Befehlszeilenprogramm zu berappen. Sehen Sie sich die Ruby-Dokumentation für die Core-Klasse "Time" an, z. https://ruby-doc.org/core-2.2.0/Time.html - Sie können damit das gleiche String-Format erzeugen. –

+0

Danke für die Info @Neil; Werde versuchen, diese Methode zu verwenden. –

Antwort

2

Es scheint eine neue Zeile in Path zu sein.

Versuchen Sie es mit

Path = "/home/sajeesh/jam_#{date}".strip 
+0

Das hat schön funktioniert; Danke @Wand –

+2

@SajeeshKrishnan Sie akzeptieren niemals die Antworten auf Ihre Fragen. Bitte stellen Sie sicher, dass Sie Ihre Fragen beantworten und die eine Antwort pro Frage auswählen und akzeptieren, die sie am besten löst (vorausgesetzt, es gibt solche Antworten). –

Verwandte Themen