Setara dengan OS X "terbuka" di Cygwin?

11

Saya tahu ini mungkin pertanyaan yang agak aneh, ditambah fakta bahwa saya menanyakannya di sini. Alasannya adalah bahwa setiap kali saya bertanya kepada orang Windows tentang hal ini, atau bahkan pengguna Cygwin biasa, mereka sepertinya tidak mengerti mengapa saya memerlukan fungsi ini.

Bagi Anda yang belum menggunakan "buka" di shell di Mac OS X, kerjanya seperti ini:

$ open somepic.jpg

$ buka SomeFile.m

Jadi terlihat pada program default yang terkait dengan file, dan membukanya. Saya ingin melakukan hal yang sama dari dalam Cygwin. Setiap ide akan sangat dihargai!

TK
sumber
Menggunakan MobaXterm, setara perintah untuk Mac openadalah ... open. :) Saya belum pernah menggunakan Cygwin; Saya lebih suka MobaXterm.
Wildcard

Jawaban:

18
$ cygstart theFile.ext

Ini akan membuka theFile.ext dengan aplikasi default yang telah Anda tetapkan untuk file .ext.

Uncjamil
sumber
Apa yang saya butuhkan. Akan memasang:
TK
2
alias buka = ​​'cygstart' di .bashrc
TK
1
@TK: Manis. Jangan ragu untuk kembali lagi jika Anda mengalami masalah cygwin lagi. Saya telah terperangkap di tanah Windows untuk waktu yang lama sehingga saya dan Cygwin menjadi sangat dekat. Kami bukan teman ... tetapi kami telah belajar untuk saling bertoleransi. ;)
unclejamil
4

Untuk kelengkapan, xdg-opendi Linux memainkan peran yang sama di sisi Linux.

Caleb
sumber
1

Seperti yang disebutkan, cara terbaik mungkin cygstart. Anda dapat menambahkan alias ke .bashrc Anda (atau .zshrc atau apa pun):

alias open='cygstart'

Tetapi Anda juga dapat melakukan beberapa hal dengan explorer.exe. Ini mungkin tidak sebagus cygstarttetapi jika Anda mengalami masalah dengan pendekatan itu (atau Anda perlu menggunakan ini dengan bash shell Git daripada Cygwin) itu adalah pilihan untuk diingat.

Sebelumnya saya telah menggunakan bash shell yang dikirimkan bersama Git untuk Windows, dan saya sudah melakukannya

alias open='explorer.exe'

di .bash_profile saya. Ini akan membuka direktori di Windows Explorer, dan membuka file di aplikasi default (menurut definisi Windows "default").

Itu memang memiliki keterbatasan. Karena explorer.exe diharapkan untuk digunakan pada prompt DOS (jika pada baris perintah sama sekali), jangan berharap globbing berfungsi. Misalnya, jika Anda ingin membuka Gemfile, Vagrantfile, Cheffile, dan Rakefile Anda sekaligus, dan Anda mengetik

open *file

Anda hanya akan mendapatkan jendela Windows Explorer. Saya tidak tahu logika apa (!?) Yang berfungsi di sini. Kemungkinan besar explorer.exe hanya mengabaikan semua argumen, karena tidak tahu apa yang harus dilakukan dengan beberapa argumen.

cygstart juga tidak terlalu cerdas, karena hanya membuka argumen pertama ketika melewati beberapa argumen, tetapi setidaknya membuka file, bukan direktori saat ini.

iconoclast
sumber