
すべてのルーティングテーブルのすべてのルートを保存したい。
次のようなスクリプトがあります:
#!/bin/bash
DUMP=dump.log
for i in `seq 0 255`;
do
routes="`ip route show table ${i}`"
if [ ! -z "${routes}" ];then
echo "table: ${i}" >> ${DUMP}
echo "${routes}" >> ${DUMP}
echo "" >> ${DUMP}
fi
done
このスクリプトに関する問題点は次のとおりです。
- すべてのテーブルを反復処理し、有効なテーブル番号は 0 ~ 255 のみであると想定していますが、これは有効な想定でしょうか?
- すべてのテーブルのすべてのルートを取得するためのシンプルな 1 行のコードはありますか?
ありがとう
答え1
ip route list table all
それは ip route help に書かれています。