変数

変数を定義する

変数に値を代入するには、変数名と値をイコール=で結びます。イコールの前後にはスペースは入れられません。

<variable>=<parameter>
$ MESSAGE=Hello-World

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

コマンド置換(Command Substitution)を使います。

<variable>=$(command)
<varibale>=`command`

実行したいコマンドを$( )もしくはバッククオートで囲みます。

変数を参照する

変数を参照するには、変数名の前に$をつけます。また、変数名は中括弧{ }で囲うことが出来ます。中括弧を付けることで可読性が良くなります。

$<variable>
${<variable>}

変数と文字列を結合する

変数と文字列を結合する場合、変数名の後にスペースが無いと、別の変数を参照してしまいます。これを防ぐために、変数名を中括弧{ }で囲います。

$ hoge=Hello
$ echo ${hoge}_World
Hello_World

特殊変数

引数の取得や、終了ステータスの取得には、特殊変数を使用します。

パラメータ名 意味
$0 シェルスクリプトのファイル名
$1 ~ $9, ${10}~ シェルのN番目の引数
$* シェルの全ての引数
$@ シェルの全ての引数
$# 実行時に指定されたシェルの引数の個数
$$ コマンドのプロセスID
$? 直前に実行したコマンドの終了ステータス
$! 直前に実行したバックグラウンドコマンドの終了ステータス
$- シェルの実行オプション

環境変数

.envファイル

.envファイルは、プロジェクトのルートに設置するファイル。

環境変数の設定

exportコマンドを使って、環境変数を作成したり、変数を設定します。

export BIOSCREPTOME_HOME=/opt/home

環境変数を表示する

printenvもしくはenvコマンドを使用することで、環境変数の一覧を取得できます。

環境変数を削除する

unsetコマンドで、環境変数を削除できます。

Secret Managerを利用する

環境変数の管理に有用なツール

See Also

ssh-keygen

SSH接続用の秘密鍵・公開鍵の作成

SSH

リモートマシンにログインする

chpasswd

バッチでパスワードを更新する

uniq

重複行を表示する

ls

ディレクトリ内の詳細を表示する

LFTP

FTPサーバに接続してファイルを転送するコマンド