Есть ли способ открыть новый терминал из командной строки и запустить команду на этом новом терминале (на Mac)?
например, что-то вроде:
Terminal -e ls
где ls
запустить в новом терминале.
Есть ли способ открыть новый терминал из командной строки и запустить команду на этом новом терминале (на Mac)?
например, что-то вроде:
Terminal -e ls
где ls
запустить в новом терминале.
Ответы:
Это открывает новый терминал и выполняет команду "эхо привет" внутри него.
источник
osascript -e 'tell app "Terminal" to do script "echo hello"'
"$@"
в оболочке, но в сценарии osa?Вы можете сделать это окольным путем:
Сценарии оболочки, которые имеют расширение
.command
и являются исполняемыми, можно дважды щелкнуть для запуска в новом окне терминала. Командаopen
, как вы, вероятно, знаете, эквивалентна двойному щелчку по объекту Finder, поэтому эта процедура завершает выполнение команд в сценарии в новом окне терминала.Немного искривлено, но это, кажется, работает. Я уверен, что должен быть более прямой путь к этому (что вы на самом деле пытаетесь сделать?), Но это ускользает от меня прямо сейчас.
источник
Вам нужен ruby 1.9, или вам нужно будет добавить строку,
require 'rubygems'
прежде чем другие требуют, и не забудьте установитьgem rb-appscript
.Я назвал этот скрипт
dt
(dup tab), так что я могу просто запустить,dt
чтобы открыть вкладку в той же папке илиdt ls
также запустить тамls
команду.источник
Это работает, по крайней мере, под Mountain Lion. Он каждый раз инициализирует интерактивную оболочку, хотя вы можете заменить ее после ее завершения, вызвав ее как «macterm exec your-command ». Сохраните это в bin / macterm в вашем домашнем каталоге и выполните команду chmod a + x bin / macterm:
источник
Я бы сделал это с AppleScript. Вы можете оптимизировать его с помощью команды osascript. Ваш сценарий будет что-то вроде:
Если вы собираетесь получить к нему доступ только через терминал, тогда вы можете опустить все, кроме среднего оператора Tell. Если вы хотите новое окно вместо новой вкладки, замените нажатие клавиши t на n.
Я не достаточно опытный AppleScripter, чтобы знать, как получить аргументы командной строки, а затем перепечатать их в новом окне, но я уверен, что это возможно и не слишком сложно.
Кроме того, я думаю , что это работает, и я не могу сейчас тестировать, но я почти уверен, что вы можете запустить сценарий оболочки с некоторым вариантом в #! / Usr / bin / osascript -e, а затем сохранить его как исполняемый файл. как пожелаешь. Что, по крайней мере, в моей голове, позволит вам напечатать что-то вроде $ runinnewterm ls / Applications
источник