there has been much discussion in the past about programs that modify their
behaviour depending on what stdout is;
http://harmful.cat-v.org/cat-v/unix_prog_design.pdf
i do to want to start a war, just suggest a different approach is available.
my suggestion would be to always expect a password from standard input and
to do document this, suggesting, for non-interactive use people could do
something like:
echo password | application
using environment variables or passing passwords on the command line are
rather leaky.
-Steve
On Friday, 9 June 2023 at 00:52:58 UTC+1 Rich wrote:
> Thank you Cris and Kurtis -- For this project I am going with the switch
> option -- but I have other programs that I am going to replace the
> os.Getpid and os.Getppid trick with go-isatty.
>
>
>
> On Thursday, June 8, 2023 at 3:22:29 PM UTC-4 Chris Burkert wrote:
>
>> Hi, there are cases when this does not work. I tend to use a flag like
>> -batch or -noninteractive to trigger the correct behavior from within
>> scripts. Less magic, more control.
>>
>> Rich <[email protected]> schrieb am Do. 8. Juni 2023 um 20:19:
>>
>>> Hi,
>>>
>>> I have a program I am writing that stops and asks the user for input, in
>>> this case it's a passphrase used to encrypt output.
>>>
>>> I want the program to also be able to be used in a script, and if in a
>>> script use a predefined value as the passphrase. What I'd like to know is
>>> how to detect if running in a script or not. I've tried something like
>>> this:
>>> runPid := os.Getpid()
>>> parPid := os.Getppid()
>>> val := runPid - parPid //normally I check if runPid is > parPid in my
>>> code.
>>> if val < 20 {
>>> fmt.Println("Not running in a script")
>>> }
>>> This works, but only if the script ran quickly. Wondering if there is a
>>> better way to do this?
>>>
>>> --
>>> You received this message because you are subscribed to the Google
>>> Groups "golang-nuts" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to [email protected].
>>> To view this discussion on the web visit
>>> https://groups.google.com/d/msgid/golang-nuts/c8ae1be5-5a6b-45af-9249-ccdb02283d97n%40googlegroups.com
>>>
>>> <https://groups.google.com/d/msgid/golang-nuts/c8ae1be5-5a6b-45af-9249-ccdb02283d97n%40googlegroups.com?utm_medium=email&utm_source=footer>
>>> .
>>>
>>
--
You received this message because you are subscribed to the Google Groups
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/golang-nuts/b5285e0c-51bf-4ec5-8682-70b5a324c32bn%40googlegroups.com.