ipaddr「エイリアスを使用したノードの検索127.0.0.1と追加」という特定のタスクを実行します。

ipaddr「エイリアスを使用したノードの検索127.0.0.1と追加」という特定のタスクを実行します。

私は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.1aliasmycouchdb

文書

パスはここで説明されています。https://github.com/hercules-team/augeas/wiki/Path-expressionsXPathを使用してください。

申し訳ありません。他の良い点が見つかりません。

関連情報