たとえば、Ubuntu lxc-start-ephemeral
bashスクリプトは、起動されているコンテナーのIPアドレスを検出するために次のことを行います。
# Grab all the public globally routed IPv4 and IPv6 addresses
(sudo ip netns exec $NAME ip -4 addr show scope global && \
sudo ip netns exec $NAME ip -6 addr show scope global) | grep inet | while read line; do
ip=$(echo $line | awk '{print $2}' | cut -d '/' -f1)
echo "$ip"
done
個人的には、このアプローチは文字列や出力をいじくり回す必要があるため、あまり好きではありません。同じ情報にアクセスするためのプログラムAPIはありますか(必ずしもbashである必要はありません)、それとも、のようなツールに常にシェルアウトしip
、同じツールの他のバージョンで解析が壊れないことを期待する「正しい方法」ですか?