Apakah ada cara untuk membuka terminal baru dari baris perintah, dan menjalankan perintah di terminal baru itu (di Mac)?
mis. Sesuatu seperti:
Terminal -e ls
di mana ls
dijalankan di terminal baru.
macos
command-line
terminal
zlog
sumber
sumber
Jawaban:
Ini membuka terminal baru dan menjalankan perintah "echo hello" di dalamnya.
sumber
osascript -e 'tell app "Terminal" to do script "echo hello"'
"$@"
dalam shell tetapi dalam skrip osa?Anda dapat melakukannya dengan cara memutar:
Skrip Shell yang memiliki ekstensi
.command
dan yang dapat dieksekusi, dapat diklik dua kali untuk dijalankan di dalam jendela Terminal baru. Perintahopen
, seperti yang mungkin Anda ketahui, sama dengan mengklik dua kali pada objek Finder, sehingga prosedur ini akhirnya menjalankan perintah dalam skrip di dalam jendela Terminal baru.Memutar sedikit, tetapi tampaknya berhasil. Saya merasa yakin harus ada rute yang lebih langsung ke ini (apa yang sebenarnya Anda coba lakukan?), Tetapi itu lolos dari saya sekarang.
sumber
Anda perlu ruby 1.9 atau Anda harus menambahkan baris
require 'rubygems'
sebelum yang lain meminta dan jangan lupa untuk menginstalgem rb-appscript
.Saya menamai skrip ini
dt
(dup tab), jadi saya bisa menjalankannyadt
untuk membuka tab di folder yang sama ataudt ls
juga menjalankanls
perintah di sana .sumber
Ini berfungsi, setidaknya di bawah Singa Gunung. Itu menginisialisasi shell interaktif setiap kali, meskipun Anda dapat mengganti setelah-fakta dengan memanggilnya sebagai "macterm exec your-command ". Simpan ini di bin / macterm di direktori home Anda dan chmod a + x bin / macterm:
sumber
Saya akan melakukan ini dengan AppleScript. Anda dapat merampingkannya dengan menggunakan perintah osascript. Script Anda akan menjadi seperti:
Jika Anda hanya akan mengaksesnya di terminal, maka Anda dapat menghilangkan semua kecuali pernyataan tengah. Jika Anda menginginkan jendela baru dan bukan tab baru, ganti t keystroke dengan n.
Saya bukan AppleScripter yang cukup berpengalaman untuk mengetahui cara mendapatkan argumen baris perintah dan kemudian mengetik ulang di jendela baru, tapi saya yakin itu mungkin dan tidak terlalu sulit.
Juga, saya pikir ini berfungsi dan saya tidak dapat menguji sekarang, tapi saya cukup yakin Anda dapat memulai skrip shell dengan beberapa varian di #! / Usr / bin / osascript -e dan kemudian menyimpannya sebagai executable bagaimanapun yang anda inginkan. Yang, setidaknya di kepala saya, akan memungkinkan Anda untuk mengetik sesuatu seperti $ runinnewterm ls / Applications
sumber