Pastebinでbashスクリプトのダウンロードが機能しないのはなぜですか? [コピー]

Pastebinでbashスクリプトのダウンロードが機能しないのはなぜですか? [コピー]

Pastebinでbashスクリプトをアップロードしてダウンロードしようとしていますが、アップロードが簡単です。コピーして貼り付けるだけでダウンロードは簡単ではありません。

2つのスクリプトをダウンロードしようとしていますが、次のコマンドがあります。

wget http://pastebin.com/raw.php?i=M6iQ6RaY --output-document=ts3update
wget http://pastebin.com/raw/e11R2wkP --output-document=ts3restore

実行しようとすると、次のエラーが発生します。

./ts3update: /bin/bash^M: bad interpreter: No such file or directory

その後、通訳者行を削除すると、次のような結果が得られます。

./ts3update: line 4: $'\r': command not found

これ:

./ts3restore: line 3: $'\r': command not found
./ts3restore: line 7: syntax error near unexpected token `$'in\r''
'/ts3restore: line 7: `        case $yn in

なぜこれが起こるのですか?どうすれば解決できますか?ファイルを読み取ったりgrepしたりすると、どのインスタンスも見つかりません。^Mまたは'\アル字型'Bashはなぜこのようなものを見ることができますが、他のものは見えませんか?

ベストアンサー1

Michael Homerが指摘した答えは、Pastebinが私のファイルにWindows CRLF行末を追加したということです。この問題を解決するために、次のコマンドを実行しました。

sed -i 's/\r$//' ts3update
sed -i 's/\r$//' ts3restore

そしてスクリプトが正常に実行されます。答えはここから得られます。Windows で編集された Bash/Korn シェルスクリプトで「...^M: 見つかりません」エラーが発生します。

おすすめ記事