だからips=$(arp | awk '{print $1}')
私はコマンドから取得したすべてのIPアドレスを私に与えられたarp
変数に保存しましたips
。変数に文字列として格納されているとします。私が望むのは、変数を繰り返し、変数に保存し、それを使用して操作を実行してから次の変数に移動する方法です。echo
ips
Address 192.168.10.100 192.168.10.101 192.168.10.1
Address 192.168.10.100 192.168.10.101 192.168.10.1
ips
ips
ip
答え1
スペースはデフォルトのフィールド区切り文字なので、単純なfor
ループを使用すると問題なくそれを処理できます。可能性があるため、これを行うときは非常に注意してください。このタイプのループを実行すると、予期しない結果が得られます。。
ips=$(arp | awk '{print $1}')
for ip in $ips
do
#Work here
echo IP: $ip
done