相当于OS X在Cygwin中的“开放”?


11

我知道这可能是一个有点奇怪的问题,再加上我在这里问的事实。原因是,每当我向Windows人员或什至普通Cygwin用户询问此问题时,他们似乎都不明白为什么我需要此功能。

对于那些尚未在Mac OS X的shell中使用过“ open”的用户来说,它的工作原理如下:

$打开somepic.jpg

$打开SomeFile.m

因此,它将查看与该文件关联的默认程序,然后将其打开。我想在Cygwin内部做同样的事情。任何想法将不胜感激!


使用MobaXterm,等效命令到Mac的open是... open。:)我没用太多Cygwin;我更喜欢MobaXterm。
通配符

Answers:


18
$ cygstart theFile.ext

这将使用为.ext文件设置的默认应用程序打开File.ext。


正是我所需要的。将放置:
TK

2
我的.bashrc中的别名open ='cygstart'–
TK

1
@TK:太好了。如果遇到其他Cygwin问题,请随时再次加入。我已经被困在Windows领域很长时间了,所以我和Cygwin的关系非常密切。我们不是好朋友...但是我们学会了互相包容。;)
unclejamil 2011年

4

为了完整xdg-open起见,在Linux上,Linux扮演着几乎相同的角色。


1

如前所述,最好的方法可能是cygstart。您可以为.bashrc(或.zshrc或其他名称)添加别名:

alias open='cygstart'

但是您也可以使用来做一些事情explorer.exe。它可能不尽如人意,cygstart但是如果您在使用该方法时遇到任何问题(或者您需要在Git的bash shell而不是Cygwin上使用它),则可以牢记这一点。

在此之前,我一直在使用Git for Windows附带的bash shell,

alias open='explorer.exe'

在我的.bash_profile中。它将在Windows资源管理器中打开目录,并在默认应用程序中打开文件(通过Windows的“默认”定义)。

但是,它确实有局限性。由于explorer.exe希望在DOS提示符下使用(如果在命令行中使用),因此不要指望工作正常。例如,如果您想一次打开Gemfile,Vagrantfile,Cheffile和Rakefile,然后键入

open *file

您将仅获得Windows资源管理器窗口。我不知道这里的逻辑(!?)在起作用。explorer.exe很可能只是忽略所有参数,因为它不知道如何处理多个参数。

cygstart 也不是很聪明,因为它仅在传递多个参数时才打开第一个参数,但至少它会打开文件而不是当前目录。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.