Cygstart.exe dosyasını yapılandırmanın bir yolu var mı?


2

Anladığım kadarıyla, cygstart Argümanını bu durumda ayarlanan Windows standart programı ile ilişkilendirir.

Ancak bazı durumlarda cygwin'imi hostundan farklı davranmak istiyorum.

Örneğin.

alias open='cygstart'
open some.pdf

pdf ile açmalı SumatraPDF yerine Acrobat Reader , çünkü cygwin üzerinde çalışırken benim için daha faydalı. Var --action varsayılan olmayan bir davranış belirtmek için aç seçeneği, ancak bu çok fazla yazma.

Öyleyse açık yapılandırmanın bir yolu var mı? Belki bir config dosyası vasıtasıyla veya bir değişken vererek?

DÜZENLE

--action/-a işe görünmüyor

$ open --action=sumatraPDF some.pdf 
Unable to start 'some.pdf': There is no application associated with the given file name extension.

Nerede "çok fazla yazarak" ?? Takma adınızdaki - eyleminizi tanımlayın.
Maximus

Ben sadece open pdf dosyaları da open . veya diğer dosyaları sth, yani diğer adını değiştiremiyorum.
mike

@mike: Cygstart bir kişiyi çağırmak içindir kayıtlı Windows işleyicisi çalıştırılamayan dosyalar için. Alternatif bir program kullanmak istiyorsanız, denedin mi <path to program.exe> <path to file to be opened>?
Karan

Yanıtlar:


2

O olduğu kendi oluşturmak için yeterince basit open Dosya uzantısını kontrol eden ve .pdf için özel bir şey yapan ve her şey için cygstart kullanan kabuk işlevi Örneğin

function open
{
    case "$1" in
    *.pdf) sumatraPDF "$1";;
    *) cygstart "$1";;
    esac
}

2
BTW, bu cevabın bir repostu - açıkça bariz bir örnek eklenmiş - bu bir çirkin, makul olmayan ve sorumsuzca bir moderatör tarafından silindi. SO'da şimdiye kadar gördüğüm en kötü denetleme çağrısıydı ... yazdıklarımı yanlış yazdığı ve yanlış tanıtdığı için okuma yazma bilmiyordu. Makul bir cevap, bir örnek ekleyerek cevabımı geliştirmemi istemek olurdu. Böyle bir kişinin SO'da nasıl moderatör olabileceği benden de öte. Kesinlikle olmamalılar.
Jim Balter
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.