OS X'in Cygwin'deki "açık" ifadesine eşdeğer mi?


11

Bunun biraz garip bir soru olabileceğini biliyorum, artı burada soruyorum. Bunun nedeni, Windows çalışanlarına bu soruyu ve hatta düzenli Cygwin kullanıcılarını her sorduğumda, neden bu işlevselliğe ihtiyaç duyduğumu anlamıyorlar.

Mac OS X'te kabukta "açık" kullanmayanlarınız için şu şekilde çalışır:

$ open somepic.jpg

$ open SomeFile.m

Bu nedenle, dosya ile ilişkili varsayılan programa bakar ve açar. Aynı şeyi Cygwin içinden de yapmak istiyorum. Herhangi bir fikir çok takdir edilecektir!


MobaXterm kullanarak, Mac eşdeğer komut openolduğunu ... open. :) Cygwin'i fazla kullanmadım; MobaXterm'i tercih ederim.
Wildcard

Yanıtlar:


18
$ cygstart theFile.ext

Bu, .ext dosyaları için ayarladığınız varsayılan uygulamayla File.ext dosyasını açar.


Tam olarak ihtiyacım olan şey. A koymak:
TK

2
alias open = .bashrc'de 'cygstart'
TK

1
@TK: Tatlı. Daha fazla cygwin sorunuyla karşılaşırsanız tekrar giriş yapmaktan çekinmeyin. Ben uzun zamandır Windows ülkesinde tuzağa düştüm, bu yüzden ben ve Cygwin çok yakınlaştık. Biz arkadaş değiliz ... ama birbirimize hoşgörü göstermeyi öğrendik. ;)
amca jamil

4

Bütünlüğü sağlamak için, xdg-openLinux üzerinde çok Linux tarafında aynı rolü oynar.


1

Belirtildiği gibi, muhtemelen en iyi yol cygstart. .Bashrc (veya .zshrc veya her neyse) için bir takma ad ekleyebilirsiniz:

alias open='cygstart'

Ama aynı zamanda bazı şeyleri de yapabilirsiniz explorer.exe. Muhtemelen o kadar iyi değildir, cygstartancak bu yaklaşımla ilgili herhangi bir sorunla karşılaşırsanız (veya bunu Cygwin yerine Git'in bash kabuğuyla kullanmanız gerekiyorsa) akılda tutulması gereken bir seçenektir.

Daha önce Windows için Git ile birlikte gelen bash kabuğunu kullanıyordum ve

alias open='explorer.exe'

.bash_profile dosyamda. Dizinleri Windows Gezgini'nde ve dosyaları varsayılan uygulamada açar (Windows'un "varsayılan" tanımı ile).

Yine de sınırlamaları var. Explorer.exe bir DOS komut isteminde kullanılmasını beklediğinden (komut satırındaysa), globbing'in çalışmasını beklemeyin. Örneğin, Gemfile, Vagrantfile, Cheffile ve Rakefile'ınızı bir kerede açmak istiyorsanız ve şunu yazarsanız:

open *file

Sadece bir Windows Explorer penceresi göreceksiniz. Burada hangi mantığın (!?) İşte olduğunu bilmiyorum. Büyük olasılıkla explorer.exe, tüm argümanları görmezden geliyor, çünkü birden çok argümanla ne yapacağını bilmiyor.

cygstart çok akıllı değildir, çünkü birden fazla argüman iletildiğinde yalnızca ilk argümanı açar, ancak en azından geçerli dizin yerine bir dosya açar.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.