bashシェルに「」の中に「」を入れる必要がある場合はどうすればよいですか? [閉鎖]

bashシェルに「」の中に「」を入れる必要がある場合はどうすればよいですか? [閉鎖]

次のコマンドを含むシェルスクリプトがあります。

if [ -e "./${name}/\"$1\"_page.json" ];

私は他の多くの言語とは異なり、\"動作しないことがわかりました。

どうすればいいですか?

ベストアンサー1

三重二重引用符を使用しますか?

    if [ -e "./${name}/"""$1"""_page.json" ];

これは

  • ${name}そして$1実際の値に置き換えてください。

注:

archemar@mybox:~/tmp7$ foo=bar
archemar@mybox:~/tmp7$ f2=deux
archemar@mybox:~/tmp7$ echo "${f2}/"""${foo}"""/test.php"
deux/bar/test.php
archemar@mybox:~/tmp7$ echo "${f2}/\"${foo}\"/test.php"
deux/"bar"/test.php

指摘したように、望ましい結果は少し不明瞭です。

おすすめ記事