OS X의 Cygwin에서 "open"과 동일합니까?

OS X의 Cygwin에서 "open"과 동일합니까?

조금 이상한 질문일 수도 있다는 것을 알고 여기에 질문을 드립니다. 그 이유는 Windows 사용자나 일반 Cygwin 사용자에게 물어볼 때마다 이 기능이 필요한 이유를 이해하지 못하는 것 같습니다.

Mac OS X 셸에서 "open"을 사용하지 않은 분들을 위해 설명하면 다음과 같이 작동합니다.

$ 일부pic.jpg 열기

$ SomeFile.m을 엽니다.

따라서 파일과 관련된 기본 프로그램을 살펴본 다음 엽니다. Cygwin 내에서도 동일한 작업을 수행하고 싶습니다. 어떤 아이디어라도 대단히 감사하겠습니다!

답변1

$ cygstart theFile.ext

그러면 .ext 파일에 대해 설정한 기본 응용 프로그램을 사용하여 theFile.ext가 열립니다.

답변2

완전성을 위해 xdg-openLinux의 역할은 Linux 측의 역할과 거의 동일합니다.

답변3

앞서 언급했듯이 가장 좋은 방법은 아마도 cygstart. .bashrc(또는 .zshrc 등)에 별칭을 추가할 수 있습니다.

alias open='cygstart'

그러나 당신은 그것으로 몇 가지 일을 할 수도 있습니다 explorer.exe. 그다지 좋지 않을 수도 있지만 cygstart이 방법을 사용하는 데 문제가 있는 경우(또는 Cygwin 대신 Git의 bash 쉘과 함께 사용해야 하는 경우) 이것이 옵션이라는 점을 명심하세요.

이전에는 Windows용 Git과 함께 제공되는 bash 쉘을 사용하고 있었습니다.

alias open='explorer.exe'

내 .bash_profile에 있습니다. Windows 탐색기에서 디렉터리를 열고 기본 응용 프로그램에서 파일을 엽니다(Windows의 "기본값" 정의에 따라).

그러나 그것은 한계가 있습니다. explorer.exe는 DOS 프롬프트(명령줄의 경우)에서 사용하기 위한 것이므로 와일드카드가 작동할 것이라고 기대하지 마십시오. 예를 들어 Gemfile, Vagrantfile, Cheffile, Rakefile을 동시에 열고 싶다면 다음을 입력하세요.

open *file

Windows 탐색기 창만 표시됩니다. 여기에 무슨 논리(!?)가 있는지 모르겠습니다. Explorer.exe는 여러 인수를 처리하는 방법을 모르기 때문에 모든 인수를 무시할 가능성이 높습니다.

cygstart여러 인수를 전달할 때 첫 번째 인수만 열기 때문에 그다지 똑똑하지는 않지만 적어도 현재 디렉터리 대신 파일을 엽니다.

관련 정보