xargsはコマンドラインでは機能しますが、Bashスクリプトでは機能しませんか?

xargsはコマンドラインでは機能しますが、Bashスクリプトでは機能しませんか?

さて、私は初めてLinuxとbashスクリプトに触れました。

bashスクリプトを使用してiptablesを操作しようとしています。ソースIPに一致するiptablesのすべてのエントリを削除する必要があります。これを行うコードを見つけました。

iptables -S FORWARD | grep 10.7.0.6 | cut -d " " -f 2- |xargs -rL1 iptables -D

これにより、ソースIPが10.7.0.6のすべてのiptablesエントリが削除されます。

このコマンドはコマンドライン(ターミナル)でうまく実行されますが、Bashスクリプトで使用するとなぜこのエラーが発生するのですか? (下記参照)

"xargs: iptables: No such file or directory"

私はUbuntu 22.04で実行しています。

どんな助けでも大変感謝します!

ベストアンサー1

おすすめ記事