echoコマンドでそのまま表示するためにenvファイル($文字を含む)をどのように作成できますか?

echoコマンドでそのまま表示するためにenvファイル($文字を含む)をどのように作成できますか?

ファイルの引用符内の内容を反映するスクリプトから呼び出されたファイルを作成しようとしています。ただ省略しました$

これが私がやろうとしていることです。

echo -e "export ORACLE_BASE=/oracle/APP/grid \n 
export ORACLE_HOME=/oracle/APP/grid/12.1.0/grid\n
export PATH=$ORACLE_HOME/bin:$PATH\n export ORACLE_SID=+ASM”>/home/oragrid/ASM.env 

echoただし、ファイルに正しく入力されません。

ベストアンサー1

echo -e移植性を目的としたスクリプトには使用しないでください。組み込みシェルを使用すると、printf()以前と同様にすべての操作を実行でき、シェル全体で互換性を維持できます。ただし、必要に応じてプレフィックス付きの変数を拡張せずに複数行の文字列を保存するには、$here-docを使用します。

cat << 'EOF' > /home/oragrid/ASM.env
export ORACLE_BASE=/oracle/APP/grid
export ORACLE_HOME=/oracle/APP/grid/12.1.0/grid
export PATH=$ORACLE_HOME/bin:$PATH
export ORACLE_SID=+ASM
EOF

EOFこれにより、変数を拡張するのではなく、すべてがそのまま残ります。

おすすめ記事