sshを介してリモートサーバーで機能しないパイプと変数を持つgrep(ローカルで動作)

sshを介してリモートサーバーで機能しないパイプと変数を持つgrep(ローカルで動作)

リモートシステム(パスワードなしの認証を有効にする)で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文字列に一致する行番号を別のサーバーから返すのに役立ちますか?速い助けに感謝します。

ありがとう

ベストアンサー1

おすすめ記事