我的 .bash_profile 中已經有此指令:
alias mysite='cd /Applications/sites/mysite;pwd; php artisan serve --port=9000 | open http://localhost:9000 | open -a Finder ./'
所以:
- CD放入資料夾內
- 開始工匠服務
- 在該地址打開一個新的瀏覽器窗口
- 在同一位置開啟一個新的 Finder 窗口
我想要它做的是添加一個新命令來執行以下操作:
open -a Terminal cd /Applications/sites/mysite
因此它會打開一個新的終端機窗口,並將該新終端機窗口 cd 到同一資料夾。
是否可以?我試過這個:
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
我認為命令的最後一部分 ( 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\""'
那對你有用嗎?