[PD] Can I run scripts with [shell]?

Hans-Christoph Steiner hans at at.or.at
Tue Jan 29 18:34:40 CET 2013


If you are using Pd-extended 0.43.4, or are willing to install pdlua/tclpd, I
recommend writing objects in Lua or Tcl rather than writing scripts for
[shell].  pdlua and Tclpd scripts will give you real Pd objects that act just
like Pd objects.  [shell] is useful, but it works differently than normal Pd
objects.

Look in the Help Browser, under pdlua and tclpd for examples.

.hc

On 01/29/2013 07:56 AM, Alexandros Drymonitis wrote:
> Ok, I understand the whole 'context', shell thing. I tried what you guys
> suggested in a terminal window and kind of got the picture. But the way
> [shell] works remains a mystery to me (even though it's the same way a
> teminal window works). I have a few scripts saved in a folder called
> 'scripts' in the 'Documents' folder in my home directory. In a terminal
> window I do the following:
> 
> cd Documents/scripts/
> sh myscript.sh
> 
> and the script runs, no problem. But what the equivalent action with
> [shell]? The same steps won't give the same result..
> 
> 
> On Tue, Jan 29, 2013 at 1:50 PM, Jack <jack at rybn.org> wrote:
> 
>>
> Le 29/01/2013 11:59, Alexandros Drymonitis a ←crit :
>>>> I don't really understand the meaning of 'context' (not the actual word,
> but the way you're using it)..how are these contexts accessible? How are
> commands being executed when sent to the same object?
>>>>
>>>>
>>>> On Tue, Jan 29, 2013 at 12:41 PM, IOhannes m zmoelnig <zmoelnig at iem.at
> <mailto:zmoelnig at iem.at> <zmoelnig at iem.at>> wrote:
>>>>
>>>> On 2013-01-29 11:23, Alexandros Drymonitis wrote:
>>>>> I checked the help patch of [shell], but if I send a cd command
>>>>> for example, I don't think that something really happens. I
>>>>> actually would like to run a script from within Pd, but what I
>>>>> understand is that this can't be really done, is it so? Can anyone
>>>>> demonstrate something like this?
>>>>
>>>> that's exactly the point: with [shell] you _should_ run scripts.
>>>>
>>>> each command you send to [shell] will open a new "context".
>>>>
>>>> so if you send it a "cd ..", it will create a new context (in your
>>>> working directory, lets call it ${WD}), move one directory up (so we
>>>> are now in ${WD}/.., report any output (not very much in this case),
>>>> and close the context.
>>>> if you then send it a "pwd", it will create a new context (in your
>>>> working directory ${WD}), print the PWD and close the context.
>>>>
>>>> obviously your "cd.." did not affect "pwd", as they have been executed
>>>> in different contexts.
>>>>
>>>> in order to do anything more complex, you have to create a
>>>> script-file, and run this via [shell].
>>>> e.g.
>>>> <snip>
>>>> #!/bin/sh
>>>> cd ..
>>>> pwd
>>>> </snip>
>>>>
>>>> and run "myscript.sh" via [shell] should give you ${WD}/..
>>>>
>>>> fgamsdr
>>>> IOhannes
>>>>
>>>>
>>>> _______________________________________________
>>>> Pd-list at iem.at <mailto:Pd-list at iem.at> <Pd-list at iem.at> mailing list
> 
>>>> UNSUBSCRIBE and account-management ->
> http://lists.puredata.info/listinfo/pd-list
>>>>
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> Pd-list at iem.at mailing list
>>>> UNSUBSCRIBE and account-management ->
> http://lists.puredata.info/listinfo/pd-list
> 
> 
> Hello,
> 
> By 'context', it is as if you start each time from the beginning (same
> 'initialization').
> You see that when you open a new shell by creating a new terminal window :
> 1) open new terminal window
> 2) enter 'cd ..' then return
> 3) enter 'pwd' then return
> 4) close terminal window
> 5) open new terminal window
> 6) enter 'pwd' then return
> 
> As you can see the values returned by pwd are not the same because, each
> time you open a terminal window, you open a new shell.
> It is the same under Pd and the object [shell], each time you send a
> message to [shell], each time you open a new shell.
> That's why you need a script if you need to execute a sequence of several
> commands.
> ++
> 
> Jack
> 
>>
>>
>> _______________________________________________
>> Pd-list at iem.at mailing list
>> UNSUBSCRIBE and account-management ->
>> http://lists.puredata.info/listinfo/pd-list
>>
>>
> 
> 
> 
> _______________________________________________
> Pd-list at iem.at mailing list
> UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
> 



More information about the Pd-list mailing list