Steffen Nurpmeso wrote in <20240927224352.XbfXbbOA@steffen%sdaoden.eu>: |Robert Elz wrote in | <10279.1727476...@jacaranda.noi.kre.to>: | ... ||| I guess to be entirely POSIX compatible my test should include: ||| ||| tty >/dev/null 2>&1 && tty <&1 >/dev/null 2>&1 && || ||The second of those would need to be testing (the pre-redirected) ||stderr, not stdout, interactive shells don't care where stdout has ||been sent (though the user probably does). || ||But as Steffen (kind of) indicated, "test -t 0 && test -t 2" is ||probably an easier way than using tty.
I must apologise, that "recently" was in 2017, over seven years ago! (But dash will change no sooner but with the next release, i think .. actually not in git as of 2024-07-28. Will ask..) commit a373e69a196cd8d45f2806d805e548fa65a982ba Author: kre <k...@netbsd.org> AuthorDate: 2017-07-24 12:35:37 +0000 Commit: kre <k...@netbsd.org> CommitDate: 2017-07-24 12:35:37 +0000 PR standards/52406 Absent other information, the shell should be interactive if reading from stdin, and stdin and stderr are ttys, not stdin and stdout. So sayeth the great lord posix. --steffen | |Der Kragenbaer, The moon bear, |der holt sich munter he cheerfully and one by one |einen nach dem anderen runter wa.ks himself off |(By Robert Gernhardt)