Przemysław Czerpak wrote:
> 
> the standard parameter delimiter is '-'. '/' is MS "extensions" which
> works only in DOS based systems. In all shells '-c <string>' can be
> used to execute command specified in <string>. All other parameters
> passed after <string> are parameters of executed command.
> 
>> Not invisibly. We are sending it as <cCmd>, <cArgs> where 
>> cCmd == /bin/bash 
>> cArgs == /home/baz/tmp/ahrl8i.sh && hbmk2 /home/baz/hash/ash.hbp -q
>> -trace
>> -info -lang=en
> 
> I guess that /home/baz/tmp/ahrl8i.sh contains some environment variables
> settings. It will not work as you want for few reasons.
> 1. shell will try to execute above cArgs as single command and should show
>    the message that such file does not exist. You should use "-c" switch
>    before.
> 2. /home/baz/tmp/ahrl8i.sh does not have executable attribute so after
>    fixing the problem in point 1 you will have message like:
>    /home/baz/tmp/ahrl8i.sh: Permission denied
> 3. If you set executable attribute (point 2) then you exploit next
> problem.
>    All environment variables set by /home/baz/tmp/ahrl8i.sh are local to
>    /home/baz/tmp/ahrl8i.sh and are not visible for hbmk2 and its child
>    processes. To resolve it you should not execute /home/baz/tmp/ahrl8i.sh
>    as normal file but _include_ it to the current shell. Included files
>    does not need executable attribute so you will not have to problem in
>    point 2. To include file you can use "." command, i.e.:
>       . /home/baz/tmp/ahrl8i.sh
>    BTW the extension like .sh have no meaning in *nixes so you can ignore
>    them.
>    You can also remove "#!/bin/sh" from included files because "#" is
>    used as comment (like REM in BATCH files).
> 
> In summary the final command should look like:
> 
>    cmd := 'sh -c ". /home/baz/tmp/ahrl8i.sh && hbmk2
> /home/baz/hash/ash.hbp"'
>    cmd += ' -q -trace -info -lang=en'
>    HB_PROCESSRUN( cmd )
> 
> I do not know the QProcess parameters so I cannot tell you how exactly
> it should look. Your comment above suggests that it should be enough
> to make:
>    cCmd := '/bin/sh'
>    cArgs := '-c ". /home/baz/tmp/ahrl8i.sh && hbmk2
> /home/baz/hash/ash.hbp"'
>    cArgs += ' -q -trace -info -lang=en'
> 

Thanks for this very well explained tutorial.




-----
     enjoy hbIDEing...
        Pritpal Bedi 
http://hbide.vouch.info/
-- 
View this message in context: 
http://n2.nabble.com/HBIDE-Project-build-start-folder-problem-tp4861627p4877740.html
Sent from the harbour-devel mailing list archive at Nabble.com.
_______________________________________________
Harbour mailing list (attachment size limit: 40KB)
Harbour@harbour-project.org
http://lists.harbour-project.org/mailman/listinfo/harbour

Reply via email to