0

スクリプトを作成しようとしているときに、cat今日は興味深い問題を見つけました。コマンドラインで次のようにすると、すべてが正常に機能します。

var=$(ssh user@server "cat /directory/myfile.sh")
echo $var > ~/newfile.sh

これは機能し、すべて適切な形式のスクリプト ファイルがあり、実行できます。ただし、スクリプトでまったく同じことを行うと、次のようになります。

#!/bin/sh

var=$(ssh user@server "cat /directory/myfile.sh")
echo $var > ~/newfile.sh

このファイルは、改行と奇妙なフォーマットで混乱しています。

なぜこれが起こっているのか誰にも分かりますか?私の目標は、最終的にサーバーからスクリプトを cat し、自分のマシンでローカルに実行することです。

編集

#!/bin/shシェルスクリプトで呼び出したために、これが起こっていることがわかりました。私が使用zshしていて、フォーマットを保持しているため、コマンドラインは機能します。

シェルに関係なく結果を戻す方法はありますか?

4

1 に答える 1