1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

シェルスクリプトの実行

Last updated at Posted at 2021-02-07

#シェルスクリプトとは
シェルによって解釈・実行される一連の処理を記述したスクリプト。狭義では、Unixシェルで用いられるスクリプト言語を指します。

「スクリプト(script)」は「台本」という意味で、コンピュータに実行させたい処理を記述してコンピュータを動かせます。

この台本をテキストデータで用意したものがシェルスクリプトです。コマンド・インタプリタとも呼ばれています。

#シェルスクリプトの使い所

  • 定期作業の自動化
  • 作業の記録
  • 複数コマンドをまとめて処理

#シバン


#!/bin/bash

echo "Hello World !"

exit 0

先頭に指定した #! で始まる「シバン」と呼ばれる文字列は、スクリプトを実行するためのインタプリタを指定しています。つまり、「このシェルスクリプトは bash によって解釈・実行されます」と、宣言するためのものです。

これは決まり文句のようなものなので、必ず 1行目に指定しなければなりません。

#シェルの実行(ホームディレクトリに作成したhw.shを実行する場合)
主に3通りの方法があります。

  • bashコマンドで実行
    bash コマンドに引数として実行するシェルスクリプトのファイル名を指定する方法。
    →この場合、ファイル名だけを指定して実行できるのは、そのファイルがカレントディレクトリにある場合のみ。ファイルが別のディレクトリにある場合は、絶対パスもしくは相対パスで指定しなければなりません。

    bash /home/[ユーザー名]/hw.sh
    
  • コマンドとして直接実行
    シェルスクリプトを (ls や cat のように) コマンドとして直接実行するためには、主に以下の 2つの条件が必要。

1.ファイルのパーミッションに実行権が付与されていること
(ls -lで実行権の確認→ファイル所有者にxがなければchmodコマンドで付与する必要あり→chmod +x ファイル名(実行権の付与))

2.シェルがファイルの場所を特定できること

/home/[ユーザー名]/./hw.sh
  1. PATHを通して実行
export PATH=$PATH: /home/[ユーザー名]/

cd /home

bash hw.sh
export PATH=$PATH: /home/[ユーザー名]/
 
cd /home
 
bash hw.sh

通常、プログラムを実行する際には、絶対パスを指定して実行する必要があります。

ここで、絶対パスではなく「PATHを通す」ことにより、そのPATH直下に存在するプログラムを、プログラム名だけで実行できるようになるのです。

しかし、OSを再起動すると、上記コマンドで設定したPATHの内容は消えてしまいます。永続的にPATHを設定したい場合は、対象ユーザーのホームディレクトリ直下にある「.bash_profile」と呼ばれるファイルに追記することが一般的です。

参照:https://udemy.benesse.co.jp/development/system/shellscript.html

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?