再生コマンドの問題エラー

再生コマンドの問題エラー

/bin私のディレクトリには、次の行を含むシェルスクリプトがありますplay applause.mp3。このファイルはapplause.mp3実行可能ファイルと同じディレクトリにあります。

ただし、playコマンドでエラーが発生しましたplay FAIL formats: can't open input file 'applause.mp3': No such file or directory

ディレクトリから直接ファイルを開くとうまく再生されます/bin。ファイルがディレクトリ以外の場所に.mp3ある必要があることは明らかです。/binBashはどこでファイルを探しますか?

ベストアンサー1

PATHBashは、環境変数で指定されたディレクトリで実行するコマンドを探します。

しかし、あなたのシナリオでは、bashはすでにタスクを実行し、playコマンドを実行しました。applause.mp3パラメータとして渡されます。それはすべて、playコマンドがそれをどのように解釈するかによって異なります。

コマンドがファイル名引数を使用する一般的な場合は、現在のディレクトリから始まるパスを確認します(これがスクリプトを/bin呼び出す前にディレクトリをに変更したときに機能する理由です)。

/問題を回避するには、パラメータに絶対パス(次から始まる)を使用する必要があります。

おすすめ記事