У меня есть эта команда уже работает в моем .bash_profile:

alias mysite='cd /Applications/sites/mysite;pwd; php artisan serve --port=9000 | open http://localhost:9000 | open -a Finder ./'

Так что:

  • Компакт-диски в папку
  • Начинает ремесленная подача
  • Открывает новое окно браузера по этому адресу
  • Открывает новое окно Finder в том же месте

То, что я хотел бы сделать, это добавить новую команду, чтобы сделать что-то вроде:

open -a Terminal cd /Applications/sites/mysite

Таким образом, он открывает новое окно терминала и вводит в это же окно терминала новое окно терминала.

Является ли это возможным? Я пробовал это:

alias mysite='cd /Applications/sites/mysite;pwd; php artisan serve --port=9000 | open http://localhost:9000 | open -a Finder ./ | open -a Terminal cd /Applications/sites/mysite'

Но я не могу заставить это работать. Он делает все как в первом примере, но никогда не открывает окно нового терминала :(

Заранее спасибо!

1 ответ1

0

Я не думаю, что последняя часть вашей команды (open -a Terminal cd /Applications/sites/mysite) работает, так как аргумент не передается для выполнения в виде команды, см. Аналогичный вопрос здесь.

Один из способов - использовать AppleScript для последней части:

osascript -e 'tell application "Terminal" to do script "cd /Applications/sites/mysite"'

Чтобы включить это в определение псевдонима, убедитесь, что все одинарные / двойные кавычки совпадают и экранируются при необходимости:

alias mysite='cd /Applications/sites/mysite; pwd; php artisan serve --port=9000 | open http://localhost:9000 | open -a Finder ./ | osascript -e "tell application \"Terminal\" to do script \"cd /Applications/sites/mysite\""'

Это работает для вас?

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .