Bashのファイル拡張子に基づいてアプリケーションでファイルを実行する

Bashのファイル拡張子に基づいてアプリケーションでファイルを実行する

読んだ後この回答zsh機能情報:

特定の拡張子にサフィックスエイリアスがある場合は、その拡張子を使用してファイルを直接実行でき、ZSHは指定されたプログラムを起動してファイル名を引数として渡します。

bashにも似ていますか?つまり、特定のファイルに拡張子がある場合は、そのファイルを直接実行し、ファイル名のみを呼び出すことでプログラムを自動的に起動できます。この方法

プログラム/パス/to/foo.ext

/パス/to/foo.ext

同じでしょう。zsh機能?新しいバージョンのbashでこの機能を使用できますか?

答え1

Linuxを使用している場合は、設定を試すことができます。いくつかの雑多な

答え2

私はBashのすべての機能に精通しているわけではありませんが、これがBashシェルに組み込まれている機能だとは思いません。関連セクションでこの機能が見つかりませんバッシュマニュアル

を使用して何かを1つにまとめることができますtrap。からhelp trap

トラップ信号やその他のイベント。

シェルがシグナルまたはその他の条件を受け取ったときに実行されるハンドラーを定義して活動化します。

したがって、次のコマンドを使用して:

$ trap my_function ERR

my_functionコマンドが失敗するたびに呼び出されるようにすることができます。my_function以前のコマンドを解析し、既知の拡張を見つけ、その拡張に基づいて適切なコマンドを呼び出す関数です。

興味のある分野に応じて、これらの関数を書くことはzシェルに移行するよりもやや興味深いかもしれません。

答え3

使用できるバッシュの代わりに。これには、あなたが探している機能とより興味深い機能があります。

たとえば、見てみましょう。ただ入力してください

open manual.pdf

そして関連プログラムを使ってpdfファイルを開きます。

関連情報