Bash - ディレクトリが存在し、以前のコマンドが正しく実行されても、そのファイルやディレクトリはありません。

Bash - ディレクトリが存在し、以前のコマンドが正しく実行されても、そのファイルやディレクトリはありません。

Macosx Yosemiteで非常に単純なbashスクリプトを実行しています。

#!/bin/bash
makefilePath=$(echo $(pwd)/make.sh | sed 's/ /\\ /')
echo $makefilePath
source "$makefilePath"

最初の3行は期待どおりに機能しますが、4行目ではエラーが発生し、コピー&ペーストを介してシェルから直接コマンドを実行しNo such file or directoryても正常に機能します。makefile

何が問題なのかわかりません。助けてください。

ベストアンサー1

実際のコンテンツを作成していないがPWD空白が含まれていると仮定するため、sedコマンドはファイル名を破損し、元のファイルを表示しなくなります。

破損したファイル名は、シェル拡張(および二重引用符を使用)によって文字通り解釈されます。また、'\\'必要に応じて機能しない場合があります。

おすすめ記事