Bashで文字列のスペースを '\'に置き換える方法

Bashで文字列のスペースを '\'に置き換える方法

websitecat私は、名前にスペースがあるフォルダ内にある(使用して)名前のファイルの内容を印刷するbashスクリプトを作成していますfolder 1。しかし、bashが正しいパスを取得することはできません。常にフォルダ名の最初の単語だけを使用するので、スペースcat folder/websitecat folder 1/website。試し\ てみましたが動作しません。sedtr

これは私のコードです。

function get-website() {
    DIR="$1"
    website="$(cat "main/apps/$DIR/website")"
}

私が試したほとんどの内容は次のとおりです。bash を使用して、文字列の文字 X を文字 Y に置き換えます。

よろしくお願いします!

ベストアンサー1

参照された関数ディレクトリ名を渡す必要があります。

$ type foo
foo is a function
foo () 
{ 
    dir="${1}";
    cat "${dir}/test"
}
$ foo "folder 1"
foobar
$ foo folder 1
cat: folder/test: No such file or directory

おすすめ記事