heredocまたは他の技術を使用した単一文字列パラメータの生成

heredocまたは他の技術を使用した単一文字列パラメータの生成

リモートサーバーでスクリプトを実行し、スクリプトを最後のパラメータとして渡そうとします。

ntrs exec-all-ubuntu --exec `cat << 'EOF'

  echo "$(pwd)"
  echo "$foobar"

EOF`

これ質問テキスト内の値は別のパラメータとして送信され、echoが最初のパラメータであり、pwd値が2番目の別々のパラメータであるため、文字列として1つのパラメータのみが必要です。

パラメータは次のように表示されます。

[ '--exec', 'echo', '"$(pwd)"', 'echo', '"$foobar"' ]

しかし、私は改行文字を含む文字通りのコンテンツを探しています。

[ '--exec', '   echo "$(pwd)"\n\n echo "$foobar"\n ' ]

私もこれを使ってみました。

ntrs exec-all-ubuntu --exec `read -d << EOF
    select c1, c2 from foo
    where c1='something'
EOF`

しかし、文字列は空です

ベストアンサー1

改行文字を含む一般的な文字列を簡単に使用できます。

ntrs exec-all-ubuntu --exec '
  echo "$(pwd)"
  echo "$foobar"
'

おすすめ記事