Еквівалент "відкритого" OS X у Cygwin?


11

Я знаю, що це може бути дещо дивне питання, плюс те, що я його тут задаю. Причина полягає в тому, що щоразу, коли я запитую Windows-людей про це або навіть постійних користувачів Cygwin, вони, здається, не розуміють, для чого мені потрібна ця функціональність.

Для тих із вас, хто не використовував "відкрити" в оболонці в Mac OS X, він працює так:

$ відкрити somepic.jpg

$ відкрити SomeFile.m

Тож він переглядає програму за замовчуванням, пов'язану з файлом, і відкриває її. Я хотів би зробити те ж саме з Cygwin. Будь-які ідеї будуть дуже вдячні!


Використання MobaXterm, еквівалентна команда Мака openє ... open. :) Я мало використовував Cygwin; Я віддаю перевагу MobaXterm.
Wildcard

Відповіді:


18
$ cygstart theFile.ext

Це відкриє theFile.ext за допомогою програми за замовчуванням, яку ви встановили для файлів .ext.


Саме те, що мені було потрібно. Поставить:
TK

2
псевдонім open = 'cygstart' в моєму .bashrc
TK

1
@TK: Солодке. Не соромтеся знову зайти, якщо у вас виникли проблеми із цигуніном. Я давно опинився в пастці на землі Windows, тому я і Цигвін стали дуже близькими. Ми не приятелі ... але ми навчилися терпіти один одного. ;)
unclejamil

4

Для повноти xdg-openв Linux відіграє майже таку ж роль і на Linux.


1

Як згадувалося, мабуть, найкращий спосіб cygstart. Ви можете додати псевдонім до свого .bashrc (або .zshrc або будь-який інший):

alias open='cygstart'

Але ви також можете зробити деякі речі з explorer.exe. Це, мабуть, не так добре, cygstartале якщо ви зіткнулися з будь-якими проблемами з таким підходом (або вам потрібно скористатися цим баштом Git, а не Cygwin), це потрібно пам’ятати.

До цього часу я використовував оболонку bash, яка постачається з Git для Windows, і у мене була

alias open='explorer.exe'

в моєму .bash_profile. Це відкривало б каталоги в Провіднику Windows і відкривало файли в додатку за замовчуванням (за визначенням Windows "за замовчуванням").

Однак у нього є обмеження. Оскільки explorer.exe очікує, що його використовуватимуть у DOS-рядку (якщо взагалі в командному рядку), не сподівайтесь, що глобалізація спрацює. Наприклад, якщо ви хочете відкрити Gemfile, Vagrantfile, Cheffile та Rakefile всі разом, і ви вводите

open *file

Ви просто отримаєте вікно Провідника Windows. Я не знаю, яка логіка (!?) Тут працює. Швидше за все, Explorerr.exe просто ігнорує всі аргументи, оскільки не знає, що робити з кількома аргументами.

cygstart також не дуже розумний, оскільки він відкриває перший аргумент лише при передачі декількох аргументів, але принаймні він відкриває файл, а не поточний каталог.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.