私はlocalhostのエイリアスを追加したいので(別のホスト名を使用してローカルでWebサーバーをテストできるように)、augtool
自動編集機能を使用しようとしています。/etc/hosts
私は良い文書を見つけるためにさまざまなソフトウェアを探していました。
ipaddr
私はノードを探して127.0.0.1
エイリアスを追加するためにofを使います。また、Augeasの良いドキュメントを探してみたいです。
答え1
ホストにエイリアスを追加することは難しくありませんが、仕事がすごい場合でもホストエントリにエイリアスがあるかどうかを確認する方が興味深いことがよくあります。
Augeasで行う方法は次のとおりです。
set /files/etc/hosts/*[ipaddr="127.0.0.1"]/alias[.="mycouchdb"] "mycouchdb"
エイリアスはまだ存在しない場合にのみ追加されます。
説明する:
alias[.="mycouchdb"]
値を持つエイリアスを参照しますmycouchdb
(.
現在のノードを参照しているため)。
mycouchdb
値を持つエイリアスがまだない場合、一致するものはなく、alias[.="mycouchdb"]
Augeasはラベルとalias
値を持つノードを作成しますmycouchdb
。ノードが存在しない場合のルールは、フィルタなしでパスラベルを使用することです。この場合は、alias
新しいラベルノードを作成してここに値を割り当てます。mycouchdb
エイリアスがすでに存在する場合、式は一致し、setコマンドは値をで置き換えますmycouchdb
。これは何もしません。
答え2
ipaddr
「エイリアスを使用したノードの検索127.0.0.1
と追加」という特定のタスクを実行します。
する
augtool -b -s set '/files/etc/hosts/*[ipaddr = "127.0.0.1"]/alias[last()+1]' mycouchdb
これは、()の子を持つファイル内のすべてのノードを見つけ、/etc/host/
次のものを追加します。*
ipaddr=127.0.0.1
alias
mycouchdb
文書
パスはここで説明されています。https://github.com/hercules-team/augeas/wiki/Path-expressionsXPathを使用してください。
申し訳ありません。他の良い点が見つかりません。