shellcheck は次の警告を表示します。
In myscript line 38:
echo -e "blah/blah\n$(cat ${tmpdir}/${filename}.jpdf)" > "$tmpdir"/"$filename".jpdf
^-- SC2086: Double quote to prevent globbing and word splitting.
このコマンドの目的は、ファイルの先頭に行を挿入することです${tmpdir}/${filename}.jpdf
。
shellcheckの警告は意味がありますか?なぜ?
パラメータ全体を二重引用符で囲みました。二echo -e
重引用符で囲む必要がありますか?${tmpdir}
${filename}
ありがとうございます。
ベストアンサー1
はい、次の分割とワイルドカードを避けるには、次の手順を実行します。
echo -e "blah/blah\n$(cat "${tmpdir}/${filename}.jpdf")" > "$tmpdir/$filename.jpdf"
内部二重引用符を使用してください。私の言葉は、$(…)
内部と外部に二重引用符があるということです。"$(…)"