一重引用符をネストすることはできませんが、一重引用符で囲まれた文字列を終了し、エスケープされた一重引用符を含めてから、引用符を再入力することはできます。これを試して:
rsh fooDNS '
...
BROADCAST_IP_ADDRESS=$(/usr/sbin/ifconfig $IF_NAME | grep broadcast | awk '\''{print $6}'\'')
...
'
それにもかかわらず、この種の引用の狂気は非常にすぐに醜くなります。可能であれば、scp / rcp / ftpを使用して通常のbashスクリプトをリモートにコピーし、それを実行することをお勧めします。それができない場合は、スクリプトのstdinに何もフィードする必要がない場合は、次のようなトリックを使用できると思います。
cat script_file | rsh fooDNS bash
(rsh fooDNS /bin/sh
もちろん、スクリプトがプレーンsh
互換で、リモート側にbashがない場合に使用します。)
さらに別の方法として、スニペットが短い場合は、ここのドキュメントを使用できます。
rsh fooDNS sh <<'EOF'
...
BROADCAST_IP_ADDRESS=$(/usr/sbin/ifconfig $IF_NAME | grep broadcast | awk '{print $6}')
...
EOF