[Gambas-user] using 2>redirect with Exec?

Bruce Steers bsteers4 at gmail.com
Mon Aug 9 11:53:51 CEST 2021


That's fantastic Brian , many thanks :)

I made a couple of changes..
I changed the 'Quit 0' in Form_Close() to be '_free()'   (I've never really
been a Quitter ;) )
Then a couple of InStr() calls in File_Read() and it's now exactly what I
wanted :)

Many thanks my good man.  much appreciated :)

BruceS


On Sun, 8 Aug 2021 at 17:08, Brian G <brian at westwoodsvcs.com> wrote:

> I have attached the whole project updated as an executable gambas script.
> Hope this helps
>
> "Failure is the key to success;
>  each mistake teaches us something"  .. Morihei Ueshiba
> Brian G
>
> ----- On Aug 8, 2021, at 8:23 AM, Brian G <brian at westwoodsvcs.com> wrote:
>
> I added a text area called Errormsg to your project, and here is the code
> to get error messages and process them from your app:
> ' Gambas class file
>
> Extern dup2(OldFD As Integer, newfd As Integer) In "libc:6"
> Private Writer As File
> Private Reader As File
> Private restore As File
> Public Sub _new()
>   Writer = Open Pipe "/tmp/testpipeout" For Write
>   restore = File.Err
>   dup2(Writer.handle, 2)
>   Reader = Open Pipe "/tmp/testpipeout" For Read Watch
> End
> Public Sub _free()
>   Close Writer
>   Close Reader
>   dup2(restore.handle, 2)
> End
> Public Sub Form_Close()
>   Quit 0
> End
> Public Sub file_read()
>   Dim buffer As String
>   buffer = Read #Last, -Lof(Last)
>   ErrorMsgs.text &= "From Error Handler :" & Quote(buffer) & "\n"
>   ErrorMsgs.Refresh()
> End
> Public Sub Button1_Click()
>   Print "Something"
>   Wait
> End
>
> "Failure is the key to success;
>  each mistake teaches us something"  .. Morihei Ueshiba
> Brian G
>
> ----- On Aug 8, 2021, at 2:43 AM, Bruce Steers <bsteers4 at gmail.com> wrote:
>
> oooh , that's brilliant , Cheers Brian :)
> I removed the dup2(dummy.Handle, 1) as it's only the gtk warnings i want
> to suppress.
> Now i just have to figure out how to read the error text as it comes
> through and show anything that's not a gtk message.
>
> almost had it using a pipe but it was flawed :(
>
> Thank you , much better than my app launching itself twice :)
> BruceS
>
>
>
> On Sun, 8 Aug 2021 at 03:06, Brian G <brian at westwoodsvcs.com> wrote:
>
>> Hi bruce,
>>
>> Just notices this new thread
>>
>> Replied to the other one but here it is again
>>
>> Add this to the startup class of you application
>>
>> Extern dup2(OldFD As Integer, newfd As Integer) In "libc:6"
>> Static Dummy As File
>> Static Public Sub _init()
>>   dummy = Open "/dev/null" For Write
>>   dup2(dummy.Handle, 1)
>>   dup2(dummy.handle, 2)
>>
>> End
>>
>> No need for any other fiddles
>>
>> "Failure is the key to success;
>>  each mistake teaches us something"  .. Morihei Ueshiba
>> Brian G
>>
>> ----- On Aug 7, 2021, at 5:05 PM, Jussi Lahtinen <
>> jussi.lahtinen at gmail.com> wrote:
>>
>> No, that is for terminal. You must use "Output to" and "Error To"
>> keywords.
>> http://gambaswiki.org/wiki/lang/errorto
>>
>> Jussi
>>
>> On Sun, Aug 8, 2021 at 2:29 AM Bruce Steers <bsteers4 at gmail.com> wrote:
>>
>>>
>>> I cannot get redirect working with Exec.  Is it possible?
>>>
>>> Ie..
>>> Shell "/run/mycommand 2>&1"
>>> works as expected and redirects error text to stdout.
>>>
>>> Exec ["/run/mycommand", "2>&1"]
>>> does not redirect and only sends '2>&1' as an argument to /run/mycommand.
>>>
>>> Is there a way to redirect with Exec or will i have to Shell it?
>>>
>>> For some reason i am under the impression it is better to use Exec over
>>> Shell if possible?
>>>
>>> Thanks in advance
>>> BruceS
>>>
>>>
>>> ----[ http://gambaswiki.org/wiki/doc/netiquette ]----
>>>
>>
>>
>> ----[ http://gambaswiki.org/wiki/doc/netiquette ]----
>>
>>
>> ----[ http://gambaswiki.org/wiki/doc/netiquette ]----
>>
>
>
> ----[ http://gambaswiki.org/wiki/doc/netiquette ]----
>
>
>
> ----[ http://gambaswiki.org/wiki/doc/netiquette ]----
>
>
> ----[ http://gambaswiki.org/wiki/doc/netiquette ]----
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.gambas-basic.org/pipermail/user/attachments/20210809/31ea4d3f/attachment.htm>


More information about the User mailing list