Избавьтесь от новой строки из команд оболочки в Ruby

Я пытаюсь запустить простые команды оболочки в своем сценарии, но не могу избавиться от новых строк даже с помощью chomp или chop.

Что-то мне не хватает?

      u=`echo  '#{l}' | cut -d: -f4`.chop()
      p2=`echo '#{l}' | cut -d: -f3`.chop()
      p1=`echo '#{l}' | cut -d: -f2`.chop()
      h=`echo  '#{l}' | cut -d: -f1`.chop()


#     **Cant get newlines to go after p1 and p2 !! ??**
      path="#{p1}/server/#{p2}abc"
      puts path


 Output:
 /usr (p1)
 /server
 /bin (p2) abc 
 Expected Output:
 /usr/server/binabc

Есть предложения?

В соответствии с некоторыми предложениями, я изменил свой код на:

h, p1, p2, u = l.split /:/
u.strip 
u.chomp

puts u.inspect

Вывод: "строка \ n"

В основном я пробовал использовать chomp раньше и столкнулся с той же проблемой. Мне нужно вызвать chomp по-другому или добавить какой-нибудь драгоценный камень?

7
задан codeObserver 23 September 2011 в 20:37
поделиться