Open4

Bash のヒアドキュメントで変数などの展開を回避する

hankei6kmhankei6km

やりがちな例

cat << EOF > /path/to/file.txt
ABC
$DEF
EOF

これは $DEF が変数として展開されてしまう(展開したいときもあるのでこれはこれで便利だけど)。

hankei6kmhankei6km

Copilot

for CLI の場合は下記のようなクエリーで教えてくれる。

 ───────────────────── Query ─────────────────────

1) bashで複数行のテキストを表示 2) 行に"$"が含まれる場合

 ──────────────────── Command ────────────────────

cat << 'EOF'
1
2
3
EOF

 ────────────────── Explanation ──────────────────

○ cat << 'EOF' is used to print a multi-line string.
  ◆ EOF is the delimiter that marks the beginning and end of the string.

❯ ✅ Run this command
   Revise query
  ❌ Cancel

VSCode でスクリプトを編集しているときの for CLI ではない方の Copilot で 'EOF' を引き出す方法は不明。