No need to even think about this. Look at ssh and mimic their practices. It has 
been thoroughly audited. 

> On Jun 10, 2023, at 5:35 AM, quin...@gmail.com <quint...@gmail.com> wrote:
> 
> 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.
> 
> -- 
> 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.

-- 
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/1623BF2C-4FB9-458A-813B-5FD80A89D443%40ix.netcom.com.

Reply via email to