リモートシステム(パスワードなしの認証を有効にする)でsshを介して以下のgrepコマンドを実行すると、期待される結果(一致する行番号)は提供されません。変数も正しく定義されました。
サーバー1から:
ssh user@server2 grep -n -i $J2C_ID1 $CUST_NODE_PATH1/resources.xml | awk '{print $1}' | tr -d ':'
上記のコマンドは空の出力を返します。
サーバー2(ローカルで実行)から予想される出力を返します。これは行番号です。
grep -n -i $J2C_ID1 $CUST_NODE_PATH1/resources.xml | awk '{print $1}' | tr -d ':'
474
(予想される出力は、指定されたファイルresources.xmlの$ J2C_IDで指定された文字列と一致する行番号です。)
行全体ではなく行番号だけが必要ですが、行全体を出力として提供するコマンドを修正しました。
ssh user@server2 grep -n -i "'$J2C_ID1' '$CUST_NODE_PATH1/resources.xml' | awk '{print $1}' | tr -d ':'"
474 <resourceProperties xmiid="J2EEResourceProperty" name="Password" type="java.lang.String" value="null" description="password" required="false" ignore="false" confidential="false" supportsDynamicUpdates="false"/>
追加のテキストを削除し、行番号をo / pとして処理する必要があります。
コマンドが正常に実行されるように変更し、IF run as ssh文字列に一致する行番号を別のサーバーから返すのに役立ちますか?速い助けに感謝します。
ありがとう