./testの代わりに.testとして実行

./testの代わりに.testとして実行

実行可能ファイルと同じフォルダにあると仮定すると、実行するには次のように入力する必要があります。

./file

タイピングが私にとって難しいので、/タイピングする必要がないほうがいいです。/

ファイルを実行するより簡単な方法はありますか?理想的には、次の簡単な構文があります。

.file

または、/そこに文字を挿入するよりも簡単です。

たぶん、ディレクトリに何かを置くか、次のものを/bin使用できるようにインタプリタのエイリアスを作成する方法があります。

p file

答え1

.自動的に完了./(入力.して押すTab)少なくとも最新のBashシェルでは、複雑で安全でない(たとえば、PATH修正)ソリューションを使用する必要はありません。

自動的に完了しない場合は、「bash-completion」パッケージをインストールする必要があります。

答え2

それとも..インタプリタにbashrcファイルにエイリアスを与え、単に

   p  file

次の関数を作成できます。

p() {
 ./"$@"
}

あなたの~/.bashrc。その後、p app arguments代わりに実行できます./app arguments。このソリューションは、スクリプトやバイナリを含むすべての種類の実行可能ファイルに機能します。

"$@"関数に渡された引数の適切な参照リストに展開され(グローバルまたは変数拡張で特殊文字を保持する)、@Scottが指摘したように、最初の引数の前に追加して残りを維持するbashのは十分賢いです。./

答え3

「危険」することもできますが、できます。あなたの道に。

他の方がおっしゃったように危険かもしれませんので、ぜひご確認ください。開始ではなくPATHの終わりに。

答え4

たとえば、通訳者に電話できます。

bash test

この場合、スクリプトは#!/bin/bashshebang行(たとえば)または実行可能ビットがなくても実行されます。また、これを実行するには正しいソルバーを知る必要があります。まず、ファイルの shebang 行を読み、正しいインタプリタが呼び出されたことを確認できます。たとえば、shebang 行が次のような場合です。

#!/usr/bin/env python3

電話する

python3 test

関連情報