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'
し、コマンドの後に明示的に改行を追加できます。