質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
シェルスクリプト

シェルスクリプトは、UNIX系のOSもしくはコマンドラインインタプリタ向けに記述されたスクリプト。bash/zshといったシェルによって実行されるため、このように呼ばれています。バッチ処理などに使用されており、テキストファイルに書かれた命令を順に実行します。

Bash on Ubuntu on Windows

Bash on Ubuntu on Windowsは、Windows Subsystem for Linux(WSL)の非推奨の名称。Windows10およびWindows Server上でLinuxのバイナリ実行ファイルをネイティブ実行するための互換レイヤーです。

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

Q&A

解決済

3回答

1346閲覧

シェルスクリプトの出力結果がおかしい

robomoco

総合スコア31

シェルスクリプト

シェルスクリプトは、UNIX系のOSもしくはコマンドラインインタプリタ向けに記述されたスクリプト。bash/zshといったシェルによって実行されるため、このように呼ばれています。バッチ処理などに使用されており、テキストファイルに書かれた命令を順に実行します。

Bash on Ubuntu on Windows

Bash on Ubuntu on Windowsは、Windows Subsystem for Linux(WSL)の非推奨の名称。Windows10およびWindows Server上でLinuxのバイナリ実行ファイルをネイティブ実行するための互換レイヤーです。

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

0グッド

0クリップ

投稿2020/08/02 13:38

WSLをwindows10に入れてます。
下のtest.shというファイルをsublimetextで作りました。

bash

1#!/usr/bin/env bash 2 3x=10 4echo $x 5echo $x+2

それから,WSLのシェル?で,test.shが存在するディレクトリまで行って,./test.shを入力してエンターキーを押したら,下のような結果になりました。
まず,\rというエラーの対処がわかりません。次に,結果が,10 10+2となるはずなのに,なぜか10 +2 となっています。

WSLシェル

1robocomo@LAPTOP-2BNCVVB8Q:~$ ./test.sh 2./test.sh: line 3: $'\r': command not found 310 4+2

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

ベストアンサー

\rというエラーの対処がわかりません。

これは、改行コードの問題です。CRLFで保存した場合の「CR」が\rにあたります。

結果、あちこちに\rが混入してしまい、「それをコマンドとして実行しようとする」「画面表示しようとして乱れる」など、めちゃくちゃになってしまいます。

シェルスクリプトは、「LFのみ」の改行コードで保存してください。

投稿2020/08/02 13:46

maisumakun

総合スコア145183

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

robomoco

2020/08/02 14:07

ありがとうございます! sublimeの場合,表示>改行コード>Unix(LF)でいけました。
guest

0

改行コードがCRLFになっています。LFにしましょう。
エディタの設定です。

投稿2020/08/02 13:44

otn

総合スコア84498

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

robomoco

2020/08/02 14:08

ありがとうございます。無事うまくいきました。
guest

0

Windows上のSublime Textでtest.shを作った際に、改行コードをCRLFで作ってしまったのではないでしょうか?

シェルスクリプトの改行コードは通常LFのみを期待しているので、Sublime Textで改行コードをLFにしてみてください。

投稿2020/08/02 14:29

YakumoSaki

総合スコア2027

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問