for ループ内の xargs

for ループ内の xargs

私たちはほとんどの内容を見つけました。しかし、次に何が起こりますか?

for i in $(arp |sort |awk '{print $1}'|grep IPADDRESS)
do
ssh USERNAME@$i "ps -ef |grep X11|grep -v grep |awk '{print $2}'|xargs kill"
done

kill: USERNAME: invalid process id

ループで使用されたユーザー名でSSHを実行しましたps -ef | grep X11| grep -v grep | awk '{print $2}'| xargs killが、うまくいきますが、xargsが印刷しているユーザー名の代わりにユーザー名を取得しているようです。

どんなアイデアがありますか?

ベストアンサー1

\a前にawkを試してください$。例:

ssh USERNAME@$i "ps -ef |grep X11|grep -v grep |awk '{print \$2}'|xargs kill"

おすすめ記事