SSHコマンドで「テキストを返さない」に改行を追加する方法

SSHコマンドで「テキストを返さない」に改行を追加する方法

Qt5アプリケーションには、他のリモートシステム(Ssh経由で接続されている)上の一部のファイルのバージョン番号を確認するために実行するbashスクリプトがあります。

このスクリプトを実行できるコンピュータは100台を超えています。私がsshedしたコンピュータに私が探しているファイルがある場合は、スクリプト出力が正しく表示されますが、リモートコンピュータにファイルがない場合は2行がリンクされます。

例えば

次のようにする必要があります。

Operating System: 1.5.64 
sw_install: 1.16
Kate 1.1

しかし、リモートファイルが存在しない場合

Operating System:  sw_install
Kate: 1.1

リモートファイルが存在しない場合(存在する場合)、行を区切る方法についてのアイデアはありますか?ファイルが実際に存在するときに出力が望ましくないので、2つのsshコマンドの間に「echo」行を置いたり、-nを削除したくありません。

非常に簡単な答えがあることを願っています。

助けてくれてありがとう! !

echo -n "Operating System: "
ssh -t -o LogLevel=QUIET -o '''StrictHostKeyChecking no''' $NODENAME "cat /home/user/Version.txt"
echo -n "sw_intall: "
ssh -t -o LogLevel=QUIET -o '''StrictHostKeyChecking no''' $NODENAME "grep VERSION= /home/user/sw_install | cut -d'=' -f2 | tr -d '\"' |  head -1"
ssh -t -o LogLevel=QUIET -o '''StrictHostKeyChecking no''' $NODENAME "rpm -qv kate --qf \"         Kate:  %{VERSION}.%{RELEASE}\""

セントース7.2

ベストアンサー1

catをパイプtr -d '\n'し、コマンドの後に明示的に改行を追加できます。

おすすめ記事