in reply to Re: preserve quotes after $0 interpolation
in thread preserve quotes after $0 + @ARGV interpolation

Thank you. I fixed my original question ($0 was not enough, of course). The idea with the shell history in combination with requirement to invoke script from particular shell and by particular way, would be probably the way for me. I would like to catch it as close as original as possible, therefore I am escaping ~ with \~ and * with \*, to let Perl, and not shell, expand tem, to preserve unexpanded version of invocation in Perl script.

Replies are listed 'Best First'.
Re^3: preserve quotes after $0 + @ARGV interpolation
by bliako (Abbot) on Dec 13, 2019 at 14:08 UTC

    Here is a hint: file bashhist.c in the bash source code (v5), modify function pre_process_line() to dump line to your own file so that you do not rely on users' history settings (which can be disabled, purged or modified by other shells running at the same time). That's based on my diagonal look at the source code.

    If what you are doing is worth the investment, find out exactly where bash executes commands and intervene before expanding and interpolating the command line (that may be in readline). In this way you may even be able to pass an extra argument to Perl with the original commandline! far-fetched I know.

    bw, bliako