I'm not sure what you mean -- I thought they added a funclect, not a
field...?
On Sep 24, 2009, at 3:09 PM, Ethan Mallove wrote:
I think on_stop should conform more to these params:
after_each_exec
before_any_exec
after_all_exec
E.g.,
before_mtt_start_exec
after_mtt_start_exec
Then have &_process_get_value_option() call DoCommand. Note, DoCommand
is aware of hashbangs (see &_contains_shell_script_characters()), so
&shell_script() might be redundant.
-Ethan
On Thu, Sep/24/2009 07:46:40PM, Mike Dubman wrote:
>Hey Jeff,
>
>On Thu, Sep 24, 2009 at 4:02 PM, Jeff Squyres
wrote:
>
> The DoCommand.pm sub added ":\n" to the beginning to force
the Bourne
> shell interpreter. *This is necessary for some cases where an
> interpreter is not otherwise specified.
>
>Im not familiar with :\n semantics, how does it force Bourne
shell and
>what it actually does :)? (seems like leftovers from 1960)
>I think when interpreter is not explicitly specified - the
default user`s
>shell is used.
>see in the DoCommand::Cmd() . it check the buffer`s* first
line for
>#!/... semantic and if found - saves buffer to file, adds +x
perm,* and
>just executes it as a regular script.
>
>When I passed a buffer with shell commands but 1st line was not
#!/bin/sh
>- it* failed with syntax errors.
>
>*
>
> I see why you did it -- you want the ability to add your own
interpreter
> in &shell_script(). *Why not either make a parameter to add
the ":\n" or
> not, or better yet, have DoCommand.pm analyze the beginning
of the
> string and if it contains "^:\n" or "^#!", then don't add
anything. *But
> if it doesn't contain either of those, then prefix it with ":
\n".*
>
> How does that sound?
>
>sounds good!
>
> Also, is "&shell_script()" a good name? *If you can specify
your own
> interpreter, it might not be a shell script. *How about
&executable()?
>
>ok - &executable() it will be!
>*
>
>regards
>
>Mike
>
> On Sep 24, 2009, at 8:06 AM, mi...@osl.iu.edu wrote:
>
>Author: miked
>Date: 2009-09-24 08:06:04 EDT (Thu, 24 Sep 2009)
>New Revision: 1319
>URL: https://svn.open-mpi.org/trac/mtt/changeset/1319
>
>Log:
>bug fix: CmdScript() - no need to add extra chars "\n:" to
the start
>of shell script file
>new funclet: shell_script(section,param)
>
>Text files modified:
>*trunk/lib/MTT/DoCommand.pm * * * *| * * 2 +-
>*trunk/lib/MTT/Values/Functions.pm | * *19 +
++
>*2 files changed, 20 insertions(+), 1 deletions(-)
>
>Modified: trunk/lib/MTT/DoCommand.pm
>
=
=
=
=
=
=
=
=
==
>--- trunk/lib/MTT/DoCommand.pm *(original)
>+++ trunk/lib/MTT/DoCommand.pm *2009-09-24 08:06:04 EDT
(Thu, 24 Sep
>2009)
>@@ -797,7 +797,7 @@
>* *$cmds =~ s/\"$//
>* * * *if ($cmds =~ s/^\"//);
>
>- * *print $fh ":\n$cmds\n";
>+ * *print $fh "$cmds\n";
>* *close($fh);
>* *chmod(0700, $filename);
>
>Modified: trunk/lib/MTT/Values/Functions.pm
>
=
=
=
=
=
=
=
=
==
>--- trunk/lib/MTT/Values/Functions.pm * (original)
>+++ trunk/lib/MTT/Values/Functions.pm * 2009-09-24 08:06:04
EDT (Thu,
>24 Sep 2009)
>@@ -3026,4 +3026,23 @@
>* *return md5_hex($str);
>}
>
>+# Run shell commands as a script, i.e
>+#
>+# [mtt]
>+# myscript=<+# #!/bin/sh
>+# pwd
>+# ls
>+# EOT
>+# on_stop=&shell_script("mtt",myscript)
>+#
>+#
>+
>+sub shell_script {
>+ * * * my ($cmd_section, $cmd_param) = @_;
>+ * * * my $cmd = &get_ini_val($cmd_section, $cmd_param);
>+ * * * my $x = MTT::DoCommand::CmdScript(1, $cmd);
>+ * * * return $x->{result_stdout};
>+}
>+
>1;
>___
>mtt-svn mailing list
>mtt-...@open-mpi.org
>http://www.open-mpi.org/mailman/listinfo.cgi/mtt-svn
>
> --
> Jeff Squyres
> jsquy...@cisco.com
>
> ___
> mtt-devel mailing list
> mtt-de...@open-mpi.org
> http://www.open-mpi.org/mailman/listinfo.cgi/mtt-devel
>
> References
>
>Visible links
>. mailto:jsquy...@cisco.com
>. mailto:mi...@osl.iu.edu
>. https://svn.open-mpi.org/trac/mtt/changeset/1319
>. mailto:mtt-...@open-mpi.org
>. http://www.open-mpi.org/mailman/listinfo.cgi/mtt-svn
>. mailto:jsquy...@cisco.com
>. mailto:mtt-de...@open-mpi.org
>. http://www.open-mpi.org/mailman/listinfo.cgi/mtt-devel
>