heredoc
とpipeline
を混同しています。 :
可変膨張とヒアドキュメント:
cat <<EOF
some text, possibly with variables: ${HOME}/$(whoami)
EOF
some text, possibly with variables: /home/attie/attie
可変膨張せずヒアドキュメント:可変膨張("
、引用符に注意)と
cat <<"EOF"
some text, possibly with variables: ${HOME}/$(whoami)
EOF
some text, possibly with variables: ${HOME}/$(whoami)
パイプライン変数展開なし some text, possibly with variables: /home/attie/attie
パイプライン('
、引用符に注意してください):
echo 'some text, possibly with variables: ${HOME}/$(whoami)' | cat
some text, possibly with variables: ${HOME}/$(whoami)
${...}
は、環境変数
$(...)
は、コマンドを実行し、そのstdout
を置換拡大します
パスワードがsudo
を締結しているしようとしているようにも見えます - sudoは最終的なアプリケーションにはstdin
だ渡す前に、あなたのパスワードを取得するために、端末をrepoenますので、これは、動作しません。
ここで木々を探しているうちに森を失ったことはありますか?あなたの実際の問題はかなりシンプルなようです。いずれにしても、heredocブロック内のコードは実行されません。それがポイントです。実行したい場合は、通常のコードとして記述してください。 – 5gon12eder