From 3385d7a1bf6afb8508ce334c6231c35cbe2fbae0 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Fri, 24 Jul 2009 18:29:42 +0100 Subject: [PATCH 1/1] More ideas on a quick Perl one-liner syntax for TODO file. --- TODO | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/TODO b/TODO index 3241b36..291d220 100644 --- 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 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? -- 1.8.3.1