我有這個簡單的Ruby腳本:如何迭代popen輸出?
[email protected]:~$ cat simple.rb
#!/usr/local/bin/ruby
IO.popen 'ls -l', 'r+' do |f|
puts f.gets
end
,當我運行它唯一的輸出我得到的是這樣的......
[email protected]:~$ ./simple.rb
total 32
...我所期待的是這個...
[email protected]:~$ ls -l
total 32
drwxr-xr-x 4 redcricket co 4096 Dec 5 12:23 applications
-rw-r--r-- 1 redcricket co 464 Oct 5 16:23 config
drwxr-xr-x 72 redcricket co 4096 Dec 5 15:11 docs
drwxr-xr-x 3 root root 4096 Dec 5 12:14 oradiag_root
drwxr-xr-x 5 redcricket co 4096 Dec 5 16:22 platform
-rwxr-xr-x 1 redcricket co 373 Dec 5 16:30 process_yum_output.rb
-rwxr-xr-x 1 redcricket co 2159 Nov 28 16:24 SetupSSHPK.sh
-rwxr-xr-x 1 redcricket co 142 Dec 5 16:31 simple.rb
...我想我需要迭代f.gets莫名其妙?
謝謝!
這工作正常(可能更好)沒有'readlines'。 – steenslag
@steenslag,歡呼聲,好點。 – Jan