More ideas on a quick Perl one-liner syntax for TODO file.
authorRichard W.M. Jones <rjones@redhat.com>
Fri, 24 Jul 2009 17:29:42 +0000 (18:29 +0100)
committerRichard W.M. Jones <rjones@redhat.com>
Fri, 24 Jul 2009 17:29:42 +0000 (18:29 +0100)
TODO

diff --git a/TODO b/TODO
index 3241b36..291d220 100644 (file)
--- a/TODO
+++ b/TODO
@@ -244,3 +244,34 @@ any short Perl one-liner would be:
 
 You can see we're well beyond a single line just getting to the point
 of adding drives and mounting.
+
+First suggestion:
+
+ $h = create ($filename, \"/dev/sda1\" => \"/\");
+
+ $h = create ([$file1, $file2], \"/dev/sda1\" => \"/\");
+
+To mount read-only, add C<ro =E<gt> 1> like this:
+
+ $h = create ($filename, \"/dev/sda1\" => \"/\", ro => 1);
+
+which is equivalent to the following sequence of calls:
+
+ $h = Sys::Guestfs->new ();
+ $h->set_autosync (1);
+ $h->add_drive_ro ($filename);
+ $h->launch ();
+ $h->wait_ready ();
+ $h->mount_ro (\"/dev/sda1\", \"/\");
+
+Command-line form would be:
+
+ perl -MSys::Guestfs=:all -e '$_=create("guest.img", "/dev/sda1" => "/"); $_->cat ("/etc/fstab");'
+
+That's not brief enough for one-liners, so we could have an extra
+autogenerated module which creates a Sys::Guestfs handle singleton
+(the handle is an implicit global variable as in guestfish), eg:
+
+ perl -MSys::Guestfs::One -e 'inspect("guest.img"); cat ("/etc/fstab");'
+
+How would editing files work?