シェルはスペースを使用して、実行するコマンドとそのパラメーターを区切ります。
最初の例では、実行するコマンドは . です a.out のパラメータで . . コマンドは source のシェル ショートカットです。 シェルコマンドを含むファイルの名前を最初のパラメーターとして取り、それらのコマンドを現在のシェルで実行します。 a.out のため、このコマンドは失敗します シェル スクリプトではなく、バイナリ ファイルです。
2 番目の例では、実行するコマンドは ./a.out です。 、これはファイル a.out を実行することを意味します 現在のディレクトリにあります。
./programprogramという名前のファイルを実行します 現在の作業ディレクトリ (./) (新しいシェルで シェル スクリプトの場合).sourceと同じです 、現在のシェルでシェル スクリプトを実行します ../programとは異なります 、バイナリの実行には使用できません!例として、このコマンドを使用して.bashrcを実行できます シェル スクリプト。このスクリプトで 現在のシェル を変更するため .