Насколько я понимаю, в синтаксисе нет ничего плохого. Возможно, вы захотите что-то сделать с пробелами и т. Д. Для улучшения читабельности, но это так.
Я предположил, что file_name
установлен где-то перед этой частью, как опция.
Если что-то не работает так, как вы ожидаете, что оно будет работать, вы можете добавить некоторые операторы для целей отладки, которые вы должны удалить позже. Например, в этом случае я хотел бы увидеть выходные данные ssh
и добавить несколько эхо-сигналов, чтобы увидеть управление потоком:
if [[ "$option" == "1" ]] ; then
ssh skyusr@<IP> "export JAVA_HOME=/opt/mesosphere && /var/lib/mesos/slave/slaves/*/frameworks/*/executors/*/runs/latest/apache-cassandra-3.0.10/bin/nodetool -p 7199 status" > tempfile
cat tempfile |
sed -n '6,10p' |
awk '{print $1,$2}' |
grep DN > "$file_name"
if [ -s "$file_name" ] ; then
echo "All Cassandra Nodes are UP !"
else
echo "$file_name is not empty"
cat "$file_name"
fi
fi
Вы можете использовать tempfile
, чтобы проверить правильность вашей комбинации sed
, awk
, grep
.