根据 bash 中的文件扩展名在应用程序中执行文件

根据 bash 中的文件扩展名在应用程序中执行文件

看完之后这个答案关于 zsh 功能:

如果给定的扩展名有后缀别名,您可以直接执行具有该扩展名的文件,ZSH 将启动给定的程序并将文件名作为参数传递。

有没有类似bash的东西?也就是说,如果给定的文件有扩展名,如何直接执行该文件,只需调用文件名即可自动启动程序?这样做

程序/path/to/foo.ext

/path/to/foo.ext

将相当于相同的zsh 功能?新版本的 bash 中是否提供此功能?

答案1

如果你使用的是Linux,你可以尝试设置杂项

答案2

虽然我并不熟悉 Bash 的每个功能,但我不相信这是 Bash shell 的内置功能。我在相关部分找不到此功能bash手册

您也许可以使用 来拼凑一些东西trap。从help trap

陷阱信号和其他事件。

定义并激活当 shell 接收到信号或其他条件时要运行的处理程序。

因此,通过使用命令:

$ trap my_function ERR

我可以确保my_function每当命令失败时都会调用它。 my_function可以是解析先前命令、查找已知扩展并根据该扩展调用适当命令的函数。

根据您的兴趣,编写这样的函数可能比迁移到 z shell 更有趣或更不有趣。

答案3

你可以使用而不是巴什。它具有您正在搜索的功能以及更多有趣的功能。

以你为例。只需输入

open manual.pdf

并使用相关程序打开 pdf 文件。

相关内容