문제
제발 도와주세요, 나는 여기에 붙어 있습니다 ---
irb> a = "line of text\n line two\n line three"
irb> system("cat > test_file << #{a}")
cat: of: No such file or directory
cat: text: No such file or directory
=> false
해결책
보간 된 매개 변수를 인용해야합니다.
system("cat > test_file << \"#{a}\"")
그리고 Cat은 Filename을 기대하고 있으며 Test_File에 추가 할 텍스트가 아니라 다음과 같이 생각합니다.
system("echo \"#{a}\" >> test_file")
순수한 루비 에서이 작업을 원한다면 저에게 알려 주시면 예를 들어 드리겠습니다.
다른 팁
"testfile"이라는 파일에 a를 씁니다.
File.open("testfile", "w") do |io| io.print a done
파일에 직접 쓰는 것은 이미 Jespere가 다루었습니다. 프로세스 (이 경우 "고양이"프로세스)에 글을 쓰려면 Popen을 사용하십시오.
IO.popen("cat > foo", "w") do
|f|
f.write("line1\nline2\n")
end
제휴하지 않습니다 StackOverflow