#!/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
。