Lazarus
Home
Help
TinyPortal
Search
Login
Register
Lazarus
»
Forum
»
Programming
»
Operating Systems
»
Linux
»
[SOLVED] Linux: How to detect whether STDOUT was redirected?
Free Pascal
Website
Downloads
Wiki
Bugtracker
Mailing List
Lazarus
Website
Downloads (Laz+FPC)
Packages (OPM)
FAQ
Wiki
Bugtracker
IRC channel
Latest SVN
Mailing List
Other languages
Foundation
Website
Useful Wiki Links
Project Roadmap
Getting the Source
Screenshots
How to use the forum
About donations (wiki)
Bookstore
Computer Math and Games in Pascal
(preview)
Lazarus Handbook
Search
Advanced search
Recent
Lazarus Release 2.0.12
by
Martin_fr
[
Today
at 02:13:18 pm]
Wish: stop the race after...
by
MarkMLl
[
Today
at 02:09:16 pm]
converting C++ over laz, ...
by
BeniBela
[
Today
at 01:53:06 pm]
TChart start position
by
wp
[
Today
at 01:26:53 pm]
Fpcupdeluxe
by
El Salvador
[
Today
at 12:38:33 pm]
if ImageList
by
BIT
[
Today
at 12:32:07 pm]
Online Package Manager
by
GetMem
[
Today
at 12:27:01 pm]
chmreader.pas(80,12) Fata...
by
folkeu08
[
Today
at 12:22:06 pm]
OPM - LAMW installation f...
by
GetMem
[
Today
at 12:10:44 pm]
TLazSerial : serial port ...
by
sstvmaster
[
Today
at 11:49:24 am]
« previous
next »
Print
Pages: [
1
]
Author
Topic: [SOLVED] Linux: How to detect whether STDOUT was redirected? (Read 2996 times)
Hartmut
Sr. Member
Posts: 465
[SOLVED] Linux: How to detect whether STDOUT was redirected?
«
on:
September 28, 2018, 06:38:43 pm »
I want a function which tells me, whether STDOUT of my console program was redirected or not like
myprogram > outfile
In
http://forum.lazarus.freepascal.org/index.php/topic,41936.0.html
there is a solution for Windows, but I need it for Linux (Ubuntu 18.04). Can somebody help?
I'm an absolute beginner on Linux, so please be not to short in your answer. Thanks a lot in advance.
«
Last Edit: September 28, 2018, 10:13:50 pm by Hartmut
»
Logged
mpv
Newbie
Posts: 3
Re: Linux: How to detect whether STDOUT was redirected?
«
Reply #1 on:
September 28, 2018, 09:08:53 pm »
You can check stdout is a terminal using isatty() function. If not then stdout is redirected
Logged
Hartmut
Sr. Member
Posts: 465
Re: Linux: How to detect whether STDOUT was redirected?
«
Reply #2 on:
September 28, 2018, 09:41:21 pm »
That sounds interesting. But I don't find this function, in which unit is it?
http://www.math.uni-leipzig.de/pool/tuts/FreePascal/units/node12.html#SECTION0012369000000000000000
says it is in unit "Linux", but I still get a compilation error: Identifier not found "IsATTY"
Thanks for your help.
Logged
alex256
New Member
Posts: 24
Re: Linux: How to detect whether STDOUT was redirected?
«
Reply #3 on:
September 28, 2018, 09:50:45 pm »
Code: Pascal
[Select]
[+]
[-]
uses
termio
;
Logged
Thaddy
Hero Member
Posts: 10704
Re: Linux: How to detect whether STDOUT was redirected?
«
Reply #4 on:
September 28, 2018, 10:04:33 pm »
Code: Pascal
[Select]
[+]
[-]
{$ifdef fpc}{$mode delphi}{$H+}{$endif}
uses
termio
;
begin
writeln
(
IsATTY
(
output
)
)
;
end
.
Logged
Thaddy
Hero Member
Posts: 10704
Re: Linux: How to detect whether STDOUT was redirected?
«
Reply #5 on:
September 28, 2018, 10:05:13 pm »
Alex , posts crossed.
Logged
Hartmut
Sr. Member
Posts: 465
Re: Linux: How to detect whether STDOUT was redirected?
«
Reply #6 on:
September 28, 2018, 10:13:23 pm »
It works! Thanks a lot to all who helped me.
Logged
Print
Pages: [
1
]
« previous
next »
Lazarus
»
Forum
»
Programming
»
Operating Systems
»
Linux
»
[SOLVED] Linux: How to detect whether STDOUT was redirected?
TinyPortal
© 2005-2018