Shell scriptが実行できないときに確認することリスト

これはなに Link to this heading

Shell scriptが実行できないときに確認することのメモ。

確認することリスト Link to this heading

実行権限を確認する Link to this heading

実行権限が付与されているか確認する。

ls -l script.sh

実行権限がある場合は、xが付与されている。

$ ls -l script.sh
-rwxr-xr-x 1 user user 0 Mar 10 11:25 script.sh

実行権限がない場合は、chmodコマンドで実行権限を付与する。

chmod +x script.sh

所有者を確認する Link to this heading

実行権限に対し、所有者が正しいか確認する。

ls -l script.sh

所有者が正しくない場合は、chownコマンドで所有者を変更する。

chown user script.sh

シバンを確認する Link to this heading

シバンが正しく設定されているか確認する。

head -n 1 script.sh

シバンが正しく設定されていない場合は、正しいシバンを設定する。

#!/bin/bash

ファイルの改行コードを確認する Link to this heading

ファイルの改行コードが正しいか確認する。

file script.sh

Linuxの改行コードはLF、Windowsの改行コードはCRLFである。よって、Windowsで作成したファイルをWSLで実行する場合はとくに注意が必要で、改行コードを変換する必要がある。

改行コードは、dos2unixコマンドで変換できる。VS Codeの場合は、ファイルを開いて、右下の改行コードをクリックして変換することもできる。

dos2unix script.sh

ファイルの存在を確認する Link to this heading

ファイルが存在するか確認する。

ls script.sh

ファイルが存在しない場合は、ファイルを作成したり、移動したりする。

PATHを確認する Link to this heading

シェルスクリプトがコマンドとして認識されない場合は、PATHにスクリプトのディレクトリが含まれているか確認する。

echo $PATH

PATHにスクリプトのディレクトリが含まれていない場合は、exportコマンドでPATHにスクリプトのディレクトリを追加する。

export PATH=$PATH:/path/to/script
Licensed under CC BY-NC-SA 4.0
最終更新 3月 10, 2025
Hugo で構築されています。
テーマ StackJimmy によって設計されています。