Macでシェルスクリプトを書いたのに bad intepreter エラーが表示される時の対処方法

シェルスクリプトの1行目は、#!/bin/shのように、シェルのパスを記載します。

正しく書いたのに bad interpreter: /bin/sh^M: no such file or directory ってエラーが表示された時の対処方法を記載します。

1. 改行コードを確認する

MacOSXの場合、改行コードは LF である必要があります。

Visual Studio Code などで、改行コードがCRLFなどになっていないか、確認しましょう。

以下の場合は、改行コードがCRLFなので、エラーになります。

Visual Studio Codeの下のステータスバーにある CRLFの箇所をクリックし、LFを選択して保存しましょう。

こうすることで、改行コードがLFに変換されるので、シェルスクリプトが正しく実行できると思います。

2. シェルのバイナリパスを確認する

シェルスクリプトの1行目に#!/bin/shと記載している場合、本当にsh/bin/に存在しているのか確認しましょう。

whichコマンドを使用すると簡単にパスを取得することができます。

haruo@Haruos-MBP workspace % which sh
/bin/sh

このように、「which コマンド名」で実行すると、そのバイナリのパスを取得することができますので、シェルスクリプトの1行目に書いたパスが正しいか確認してみましょう。

速攻でメモできる QuickNote リリースしました!

QuickNoteは動作が超軽量でサクサクかけるノートアプリです。一瞬の閃きを逃さずにノートを開き書き始めることができます。 アカウント登録も不要です。お試しあれ!

Excel操作をコマンドで! proBoarderExcel

Excelはマウスで操作するのが基本ですが、マウス操作に疲れてはいませんか? キーボードでExcel操作ができるようになるアプリです。オープンソースで無料です。

積み上げ! Daily Stack リリースしました!

Daily Stack は日々の積み上げを管理するToDoアプリです。過去の積み上げの振り返りだけでなく、ツイート機能もあります。 アカウント登録不要ですぐに使い始めることができます。

ExecNote.app リリースしました!

ExecNoteは、コードが実行できるMarkdownアプリケーションです。Markdownドキュメント内に記載したコードをクリックすると実行ができます。わざわざターミナルを 起動させる必要がありません!無料ですのでもしよければダウンロードをお願いします。

About Me

11年目のシステムエンジニアです。アプリで生活や仕事を改善したい🐱仕事効率化、自動化のアプリ開発が得意です、ご相談ください。 🚀エンタメ系アプリの開発も模索中🐬社内SEや個人アプリ開発者、システムエンジニアになりたい人と繋がりたい🐱