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 <rma...@gmail.com> 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 golang-nuts...@googlegroups.com.
>>> 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 golang-nuts+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/golang-nuts/b5285e0c-51bf-4ec5-8682-70b5a324c32bn%40googlegroups.com.

Reply via email to