在Windows上的Ubuntu bash上“无法找到引用控制台的文件描述符”

时间:2017-02-26 02:09:54

标签: linux windows bash ubuntu terminal

我是新来的,这是我的第一篇文章。

我在Windows上的Ubuntu上遇到了Bash问题。如果我在Mac终端上输入“open(filename)”,它会打开带有正确程序的文件,但如果我尝试在Windows bash上使用它,它会说:“找不到引用控制台的文件描述符”。< / p>

我也尝试过xdg-open和gnome-open但它们都没有用。有人可以解释如何解决问题以及开放命令如何工作? 提前谢谢!

5 个答案:

答案 0 :(得分:48)

而不是打开你可以使用xdg-open做同样的事情,独立于应用程序,即pdf,图像等。它将打开一个新的虚拟终端(我在Linux上试过这个)

示例:

xdg-open ~/Pictures/Wallpapers/myPic.jpg

xdg-open ~/Docs/holidays.pdf

答案 1 :(得分:26)

对于linux,请使用 xdg-open 打开适用于Mac OS。 linux中的 open 是openvt(开放虚拟终端)的名称别名。

为了简化它,您可以将以下行附加到〜/ .bashrc或〜/ .zshrc取决于您正在使用的shell。

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

然后下次你可以像下面这样输入以减少一些键盘敲击。

o file_name.pdf

答案 2 :(得分:19)

因为open是Mac特定命令,它在Linux(ubuntu)下不可用,Mac open可以执行文件(如果文件是可执行的),或者打开将文件放入文本编辑器(如果是文档或文本文件)或打开目录。

答案 3 :(得分:3)

在Linux上,open命令是openvt的别名,它在新的虚拟终端中运行命令。虚拟终端由控制台打开。控制台仅喜欢响应真实的终端(模拟终端),因此控制台没有向模拟终端提供控制FD。尝试直接在终端中运行jpg,pdf,...查看器的命令。 (在真实的Linux Ctrl Alt 3 + 终端中尝试sudo openvt -f -s -c 7 -- echo hi

正如其他人指出的那样,在Mac上,open确实可以做您想像的事情。我不是Mac用户,因此无法扩展此段。

但是,Windows具有这些命令的自己的版本:start example.txt 打开记事本, start example.docx运行Word,您就会明白。 ,Windows是Windows,因此start可以像update writers一样聪明:start "my file.txt"打开标题为my file.txt的命令提示符窗口。

答案 4 :(得分:0)

要打开要在Windows bash上的Ubuntu中写入的文件,可以键入-:

nano filename.txt

上面的命令将允许您在文件中写入/编辑,之后,您可以使用 ctrl + x 然后按'y'保存。使用-:

检查/查看文件内容

cat filename.txt