Hi,
I have a command that works fine in terminal, and I'm able to retrieve the output using OSUnixSubprocess.
However, when I grep the output in the command, I don't receive any output from OSUnixSubprocess.
So I get output from:
"/Applications/Logic Pro X.app/Contents/MacOS/Logic Pro X" 2>&1
but not from:
"/Applications/Logic Pro X.app/Contents/MacOS/Logic Pro X" 2>&1 | grep '==>'��
However both work fine when the enclosing .command script is run directly in the terminal.
I'm a bit out of my depth here, but I would have��thought��OSUnixSubprocess would just retrieve the output from grep?
Is this a problem with my .command or is this a problem with how I'm using OSUnixSubprocess. Code below:
Cheers,
Stewart
>>startUpLogic
Transcript cr; show: 'Starting up Logic...'.
logicOSProcess := OSSUnixSubprocess new.
logicReadProcess :=
[logicOSProcess
command: '/Users/stewart/Desktop/LogicFiltered.command';
redirectStdout; redirectStderr;
runAndWaitPollingEvery: (Delay forMilliseconds: 50)
doing: [: process : outStream : errorStream | ��
errorStream upToEnd ifNotEmpty:
[: value |
Transcript cr; show: value].
outStream upToEnd ifNotEmpty:
[: value |
Transcript cr; show: value]]
onExitDo: [: process : outStream : errStream ��|
process closeAndCleanStreams.
self
log: 'Logic exited with: ',
process exitStatusInterpreter printString]] newProcess.
logicReadProcess
name: 'Logic Read Process';
priority: 50; ��"Processor userInterruptPriority"
resume����
================================================
I get output using OSSUnixSubprocess from this .command
#!/bin/sh
# xattr -r -d com.apple.quarantine /Users/stewart/Desktop/Logic.command
cd "/Applications/Logic Pro X.app/Contents/MacOS/"
"/Applications/Logic Pro X.app/Contents/MacOS/Logic Pro X" 2>&1
========================================================
but not this .command
#!/bin/sh
# xattr -r -d com.apple.quarantine /Users/stewart/Desktop/LogicFiltered.command
cd "/Applications/Logic Pro X.app/Contents/MacOS/"
"/Applications/Logic Pro X.app/Contents/MacOS/Logic Pro X" 2>&1 | grep '==>'��
��