スクリプトを作成しようとしているときに、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
していて、フォーマットを保持しているため、コマンドラインは機能します。
シェルに関係なく結果を戻す方法はありますか?