bashはスクリプトで「入力のnullバイトが無視される」という警告を表示します。

bashはスクリプトで「入力のnullバイトが無視される」という警告を表示します。

Bash 4.3で実行され、rpmパッケージを確認するスクリプトがあります。同じスクリプトがbash 4.4で正常に実行されるようにしたいが、スクリプトで警告が発生します“warning: command substitution: ignored null byte in input”。この警告を発生させる行は次のとおりです。

FIND_RPM=find /opt/RPM/components -type d -name enum-1.1.6 -print0

スクリプトは、次のようにデバッグモードで実行されます。

 +++ find /opt/RPM/components -type d -name eum-1.1.6 -print0
bash: warning: command substitution: ignored null byte in input
++ LINSEE_RPM=/opt/RPM/components/enum-1.1.6

この警告を無視し、bash4.3のようにこのnullバイトを自動的に削除するには、今この行をどのように書き換える必要がありますか?

ベストアンサー1

\0このオプション-print0で生成されたバイトを使用しないため、次のことが必要になる場合があります。

 FIND_RPM="$(find /opt/RPM/components -type d -name enum-1.1.6 -print)"

おすすめ記事