2017-02-26 41 views
10

Jestem tu nowy i jest to mój pierwszy wpis."Nie można znaleźć deskryptora pliku odnoszącego się do konsoli" w systemie Ubuntu bash w systemie Windows

Mam problem z Bash w systemie Ubuntu w systemie Windows. Jeśli napiszę "open (filename)" na terminalu Mac, otworzy plik z odpowiednim programem, ale jeśli spróbuję go użyć na bashie systemu Windows, to mówi: "Nie można znaleźć deskryptora pliku odnoszącego się do konsoli".

Próbowałem również xdg-open i gnome-open, ale żaden z nich nie działa. Czy ktoś może wyjaśnić, jak rozwiązać problem i jak działa polecenie otwierania?
Z góry dziękuję!

+0

Możesz spróbować użyć polecenia wsadowego 'start'. Jest to jednak wewnętrzne polecenie do 'cmd'. Musisz więc zawinąć go jako "cmd/c start" "" filename "' – anishsane

+0

Nie działa dla mnie:/ – Pets

+0

Jakiego błędu widzisz z poleceniem wspomnianym powyżej? BTW, może zajść potrzeba przekonwertowania ścieżek z systemu Windows na system Linux lub odwrotnie. – anishsane

Odpowiedz

11

To dlatego, że open jest poleceniem dla Maca, nie jest dostępne pod Linuksem (ubuntu), Mac open może wykonać plik (jeśli plik jest wykonywalny) lub otworzyć plik w edytorze tekstu (jeśli jest to plik dokument lub plik tekstowy) lub otwórz katalog.

+0

Ma sens. Ale jest podobne polecenie w systemie Linux i Ubuntu o nazwie "xdg-open", więc myślę, że jest sposób na jego implementację również w bashach Windows. Właśnie zainstalowałem pakiet xdg-utils, ale otwiera on pliki i foldery wewnątrz basha. Czy istnieje sposób na otwieranie plików za pomocą programów systemu Windows? – Pets

+0

Jestem wolny od okien przez ponad 10 lat! Mam nadzieję, że ktoś może pomóc. – hcheung

13

zamiast otwarty u można użyć xdg otwarte który robi to samo, niezależnie od aplikacji i, e pdf, obraz itp, zostanie otwarty w nowym terminalu wirtualnym (próbowałem to w Linuksie)

przykład:

* xdg otwarty ~/Zdjęcia/Tapety/myPic.jpg

* xdg otwarty ~/Dokumenty/holidays.pdf

6

dla systemu Linux, należy xdg otwarte. otwórz jest dla systemu Mac OS. open w linuxie to nazwa aliasu openvt (otwarty terminal wirtualny).

Aby to uprościć, możesz dodać następującą linię do ~/.bashrc lub ~/.zshrc w zależności od używanej powłoki.

alias o="xdg-open" # o stands for open 

Następnym razem możesz po prostu wpisać następujące polecenia, aby zmniejszyć liczbę skoków klawiatury.

o file_name.pdf