実行できないファイルをCLIから直接開く方法はありますか


2

実行許可のないファイルがあるとしましょう。上で今すぐ簡単な方法は、ファイルを開くためにCLI使用することがあるxdg-open特定のファイルを開くには、システムのデフォルトを使用します。

許可なしで直接ファイルを開くことは可能xdg-openですか?

例えば:

./test.pdf

そのファイルに実行権限がない場合に、ビューアを開く必要があります。


私は、oh-my-zshあなた~/directoryと同じように使用できることを知っているcd ~/directoryので、おそらく...。
theoden

ええ、はい、多分これは使用する端末に依存するでしょう。この場合、gnome-terminalまたはtcshのいずれかで答えが機能するのは素晴らしいことです。もちろん、ターミナルに依存しないソリューションのボーナスポイント。(いくつかの派手なエイリアスソリューション多分私は多分知らない)
-magu_

回答:


1

簡単に言えば; 番号。

ファイル、特にPDFファイルは「実行」されません。最も近い方法は、xdg-openを開始したいプログラムの特定の名前に置き換えることです。

evince ./file.pdf

ただし、xdg-openコマンドは、構成済みのMIMEタイプを使用することにより、これを簡素化します。

さらに進んで、bashスクリプトには、このプログラムを開くために使用するプログラムをシステムに指示するshebang宣言が含まれているため、このように機能します(bashスクリプトの場合はbashインタープリターになります)。PDFにはこの情報は含まれていません。


1

いくつかのシェルでこれを達成できると思います。比較bashには、コマンドを実行する前に実行されるフックがありますか?

このリンクはbash、あなたが望むほど簡単ではないため、最良ではないかもしれません。しかし、それはpreexecから言及していますzsh。私のポイントは、いくつかのシェルでは、独自の方法でコマンドラインを分析し、独自のアクションを実行できることです。


それが私が探していたものだと思います。今週はうまくいけば作ろうと思います。このリンク(stackoverflow.com/questions/28099966/…)にも、これを達成するための関連情報があると思います。
magu_
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.