【シェルスクリプト】基本的な記述方法

目次

ファイルの先頭に記述する定型文

シバン(shebang)と呼ばれるもので#!で書いている部分を言います。

スクリプトを読み込むインタプリタを指定しています。このインタプリタの指定は、フルパスである必要があります。

以下のシバンの場合、bashに対してスクリプトを読み込ませることになります。

1
#!/bin/bash

同じ考え方で、シバンを使えば、各言語のスクリプトをシバンをファイルの先頭につけることで実行することもできます。

コマンド

通常のパスが通っているコマンドであれば、以下のようにそのまま記述すれば実行されます。

1
ls | grep *aaa* # 実行したディレクトリ内のファイル一覧からaaaが含まれるファイルを検索

変数

変数は値やコマンドそのものを代入することや、コマンドの実行結果を入れることができます。

1
Num = 10

値やコマンドを代入する

定義した変数名に対して=を使用することで値を代入することができます。型は存在しないので、文字列でも""などをつけずに代入することができます。

注意点として、=の両端にスペースは入れてはいけません。入れると実行エラーになります。

呼び出すときは$ + 変数名になります。

1
2
3
4
5
#!/bin/bash
NUM=10
DATA=これは文字列です
echo $NUM
echo $DATA

コマンドの実行結果を代入する

$(変数名)をコマンドにつけることでコマンドの実行時の標準出力を変数に代入できます。

1
2
3
#!/bin/bash
RESULT=$(ls)
echo $RESULT

シバンを応用することでphpを./ファイル名.phpで実行する

envコマンドをシバンで使用することでパスの通っているphpコマンドのフルパスで指定することができます。

test.phpを作成し以下のような内容にします。

1
2
3
4
#!/usr/bin/env php

<?php
echo "hello world";

実行するには、実行権限を付与する必要があります。

1
2
$ chmod a-x test.php
$ ./test.php
Author

Daiki Iijima

Posted on

2021-11-08

Updated on

2024-04-17

Licensed under