Как запустить shell-команду средствами java?

У вас то работает, то не работает. Давайте не вводить никого в заблуждение, если хотите, чтобы вам помогли.

У меня нет мака! Вы хотите, чтобы я погуглил за вас? Попробуйте хоть немного посидеть самостоятельно, проработав разные варианты, почитав о том, как работает shell на Mac… вместо бесконечного спама сообщений после каждой неудачной попытки. По-моему, материала для исследований вам дали предостаточно. Нужно лишь посидеть и попытаться разобраться. К тому же, не имея мака под рукой, любой совет - лишь догадки.

П.С. Как правило, если меняются переменные окружения, нужно перезапускать среду разработки, чтобы она их подтянула. Но дело явно не в них, если все работает напрямую из sh / bash.

В итоге рабочая конструкция получилась такая:
прямой путь до требуемого приложения (в моем случае flick) и набор свойств - http://screencast.com/t/Iciqzteq.
Плюс добавил в PATH adb и libmobiledevice (для работы с ios/android).

Всем спасибо. Тему, думаю, можно прикрыть.

Пожалуйста, вы бы всё-таки сюда код скопировали. т.к. со временем картинка может похериться.
А тема закрывается автоматом, если вы отметите нужное сообщение как ответ (зелёная галка).

        List<String> commands =  Arrays.asList("/Library/Ruby/Gems/2.0.0/gems/flick-0.1.0/bin/flick",
						 "video",
						 "-a",
						 "start",
						"-p",
						"ios");
	String output = new ProcessExecutor()
						 .command(commands)
						 .readOutput(true)
						 .execute()
						 .outputUTF8();
	System.out.println(output);

	commands = Arrays.asList("/Library/Ruby/Gems/2.0.0/gems/flick-0.1.0/bin/flick",
					"video",
					"-a",
					"stop",
					"-p",
					"ios",
					"-o",
					"/Users/aap/Documents/lime-mobile-automation/target/video-rec",
					"-n",
					"bug");
	output = new ProcessExecutor()
					 .command(commands)
					 .readOutput(true)
					 .execute()
					 .outputUTF8();
	System.out.println(output);

Осталось только код научиться форматировать. :wink:

с этим пока беда