문제

제발 도와주세요, 나는 여기에 붙어 있습니다 ---

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
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top