in reply to Re: help on system function
in thread help on system function

sorry my earlier post was not clear enough.plod is "personal logging device " as the author calls it -a perl script to log your work from the command line.It has one-letter commands prefixed by a '~'.quite useful if you like working from the command line ( like I do).You use the "~>" command to run an external command and send the output to the log. I wanted to save some complicated command line to the log . I tried to get them off the history command and it did not work. The plod script uses perl system function ...

Replies are listed 'Best First'.
Re: Re: Re: help on system function
by graff (Chancellor) on Jan 05, 2003 at 19:26 UTC
    If the author of "plod" might object to having his/her code posted here, that's understandable. If you're able to alter your copy of "plod", you might consider adding the functionality that you want -- it would be pretty simple (if the code is already reasonably well written).

    If "plod" has a file handle for the log file, and can use the "print" command on that handle, you just need to add a new single-character "plod" command to print the current command line string to the log file (and then pass it to the system call as well).

    For that matter, if "plod" does not provide its own "history" functionality, I'm surprised that you find it useful, and I'd expect that this is the next bit of functionality you'd want to add -- an array where you push each shell command as you execute it, and (this is the slightly heavy part) some tilde command keys to list the array, search for strings in it, save it to a file, etc.

      google came up with this plod
      poj
Re: Re: Re: help on system function
by vek (Prior) on Jan 05, 2003 at 19:23 UTC
    You'll really need to show us the 'plod' code before we can help figure out what is going on here.

    I just had a thought. Is there any reason why you need to use plod in the first place? Unix already allows you to be lazy if you don't want to do a lot of typing on the command line. Why not create an shell alias? For example I often use the command ls -lt | more. That's far too much typing for me so I've got an alias. Here's a snip from my .bash_profile:
    alias l='ls -lt | more'
    You could also create an alias for the commands you are attempting:
    alias foo='somecommand -pdjoh >> /path-to/your-output-file'
    Just a thought...

    -- vek --