このループの最後の反復をエコー/印刷する方法

このループの最後の反復をエコー/印刷する方法
#!/bin/bash

cat /usr/local/nagios/libexec/std_filesystem.txt | while read line
do

if [ -d $line ]; then
    file_system_name="-p $line"
new_file+=" $file_system_name"
check_filesystem="$new_file"
fi
done
echo $new_file

std_filesystem.txt has the following content
/usr/jboss
/www
/www/archive
/www/logs/jboss
/www/logs/heapdump
/opt
/opt/splunk
/opt/splunk/logs
/opt/udeploy
/www-pri1
/tmp

私はこのループの最後の繰り返しを印刷できるようにしたいです。 /www /tmp /optだけが存在すると仮定すると、エコーは "-p /www -p /tmp -p /op"になりたいと思います。助けてくれてありがとう

ベストアンサー1

必要な操作を実行するには、に変更するだけ+=です=

見つかったすべての実際のケースに既存の値を追加しない場合書く毎回新しい最後の真の値が生成され、ループが終了すると、最後の真の値が唯一の値になります$new_file

おすすめ記事