【Linux#4】シェルスクリプトで変数への代入時に = の前後にスペースを入れてはいけない
概要
シェルスクリプトで変数への代入時に = の前後にスペースを入れてはいけない。
内容
変数に値を代入するときは、「変数名=値」の形式で書く。
「変数名 = 値」のように=の前後にスペースを入れると、=の前の文字列が変数ではなく、コマンドとして扱われてエラーになる。
hoge.sh
#!/bin/bash var='hoge' echo $var
ターミナル
$ ./hoge.sh hoge
=の前後にスペースを入れた場合
hoge.sh
#!/bin/bash var = 'hoge' echo $var
ターミナル
$ ./hoge.sh ./hoge.sh: 行 3: var: コマンドが見つかりません
「varというコマンドに=と'hoge'という引数を与えている」と解釈される。