有没有办法直接从 CLI 打开不可运行的文件

有没有办法直接从 CLI 打开不可运行的文件

假设我有一个没有执行权限的文件。现在,打开此类文件的一种快速方法CLI是使用xdg-open系统默认打开特定文件。

现在是否可直接打开没有运行权限的文件而不需说明xdg-open

例如:

./test.pdf

如果该文件没有执行权限,则应该打开查看器。

答案1

简而言之,不是。

文件不会“运行”,尤其是 PDF 文件。最接近的做法是将 xdg-open 替换为要启动的程序的特定名称:

evince ./file.pdf

不过,xdg-open 命令通过使用配置的 mime 类型简化了这一过程。

更进一步说,bash 脚本之所以如此工作,是因为它们包含一个 shebang 声明,它告诉系统使用哪个程序来打开它(对于 bash 脚本来说,它将是 bash 解释器)。PDF 不包含此信息。

答案2

我认为你可以在某些 shell 中实现这一点。比较bash 是否有一个在执行命令之前运行的钩子?

此链接可能不是最好的,因为bash它并不像您希望的那样简单。但是它提到preexeczsh。我的观点是:在某些 shell 中,您可以以自己的方式分析命令行并采取自己的操作。

相关内容