ファイルパスのスペース処理

ファイルパスのスペース処理

私はこれを持っています:

muh_dir=`cd $(dirname "$BASH_SOURCE") && pwd`

はい、上記をテストしましたが(バックティックがあります)、パスワードの空白をうまく処理できませんでした。一方、次の方が良いです。

muh_dir="$(cd $(dirname "$BASH_SOURCE") && pwd)"

私の問題は、私のコマンドに3つの文字が追加され、エディタの構文が変更されることです。最初のアプローチははるかに優れています。より短い構文でスペースを処理する方法はありますか?それとも、それを置くのですか?

ベストアンサー1

どちらのコード例も失敗します。

muh_dir=`cd $(dirname "$BASH_SOURCE") && pwd` muh_dir="$(cd $(dirname "$BASH_SOURCE") && pwd)"

追加する必要がある最小見積もりは次のとおりです。

muh_dir=`cd "$(dirname "$BASH_SOURCE")" && pwd`
            ^                         ^             Note the quotes.

ただし、以下を使用してください$(...)

muh_dir=$(cd "$(dirname "$BASH_SOURCE")" && pwd)

おすすめ記事