Skip to content

Instantly share code, notes, and snippets.

@lleqsnoom
Created September 21, 2017 14:06
Show Gist options
  • Save lleqsnoom/96fd20ecdfced904318043a794426b76 to your computer and use it in GitHub Desktop.
Save lleqsnoom/96fd20ecdfced904318043a794426b76 to your computer and use it in GitHub Desktop.
haxe linux/mac shell commands with pipes
package;
import sys.io.Process;
using StringTools;
class Shell
{
public static function main() {
trace(exec('ioreg -c IOSerialBSDClient | grep usbmodem | grep IODialinDevice | cut -d " -f 4'));
}
public static function exec(command:String):String{
var cmdArr = command.split("|");
var tp:Process = null;
var p:Process = null;
for(cmd in cmdArr){
var arr:Array<String> = cmd.ltrim().rtrim().split(" ");
p = new Process(arr.shift(), [].concat(arr));
if(tp != null){
p.stdin.writeInput(tp.stdout);
p.stdin.close();
tp.close();
tp.exitCode();
}
tp = p;
}
var s = p.stdout.readAll().toString();
p.close();
p.exitCode();
return s;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment