Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl-Sensitive Sunglasses
 
PerlMonks  

Comment on

( #3333=superdoc: print w/ replies, xml ) Need Help??

Not a newbie-level question at all...

The tricky thing about this script is getting it to interact properly with the system environment. There are a couple of problems: 1) you can't get at the history list from inside the script because "history" is a shell built-in and the ".bash_history" file isn't kept up to date, and 2) you can't create aliases from inside the script because there's no way to export aliases out to the calling context.

The first problem is addressed by taking the history list as input. (But not simply as STDIN, because then you couldn't prompt the user for input.)

The second problem is solved by using the script in a "command substitution" context -- surrounded by backticks or $(). The only thing that gets printed on STDOUT is the name of the file to which the script writes the "alias foo='bar'" commands. That filename is what the bash "source" builtin sees. So, you don't have access to STDOUT for the interface (it doesn't even show up on the terminal): you have to use STDERR instead. Definitely a kludgy hack, but it works fine for this purpose.


In reply to Re: Re: bash alias suggest-ation by khkramer
in thread bash alias suggest-ation by khkramer

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • Outside of code tags, you may need to use entities for some characters:
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.
  • Log In?
    Username:
    Password:

    What's my password?
    Create A New User
    Chatterbox?
    and the web crawler heard nothing...

    How do I use this? | Other CB clients
    Other Users?
    Others contemplating the Monastery: (16)
    As of 2014-09-30 13:15 GMT
    Sections?
    Information?
    Find Nodes?
    Leftovers?
      Voting Booth?

      How do you remember the number of days in each month?











      Results (369 votes), past polls