このドキュメントに変数をどのように含めることができますか?

このドキュメントに変数をどのように含めることができますか?

状況によってはカスタムグローバル変数を使用しようとしてもcat <<eof>> filename機能しません。私はこのフォーラムの簡単な例cat << eofで私が望むものを見つけ、その結果ここにつながりました。http://www.tldp.org/LDP/abs/html/here-docs.html。しかし、私は以下のようなことをしたいと思います>>filenameいいえ働く):

#!/bin/bash

#after testing I will define this in .bashrc or somewhere?
set IP_ADDR = "123.123.123.123"

#empty the file in case there is something in it
truncate -s 0 sample.conf

# open a file and append
cat <<EOF >> sample.conf
  This is my sample config file
  Server IP = $IP_ADDR
  this is the last line of my sample config file
EOF

#print the file to verify
cat sample.conf

これにより空の文字列が生成されます。Server IP =

sed欠落している変数値を除いてファイルを作成した場合は機能しますが、IPアドレス(またはその他の項目)をリテラル文字列として簡単に使用することはできません。

また、スクリプトの実行時にコマンドライン引数として使用するリテラル文字列がない可能性があります。$1コードブロック内で動作しますcat << eof >> filename。私はそれを証明した。しかし、このスクリプトを実行するとすぐに値にアクセスできなくなります。

ベストアンサー1

set IP_ADDR = "123.123.123.123"

不正確です。以下を行う必要があります。

IP_ADDR="123.123.123.123"

(空白なし)。

おすすめ記事