[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