デフォルトだと dash が呼び出されてしまうので bash に切り替えます
以下のように一番上部にシェルスクリプトに呼び出すシェルを規定することがあるかと思います
ちなみに以下のスクリプトは入力文字列を YYYYMMDD かを判定します
#/bin/sh# Checkif [[ ! $1 =~ ^[0-9]{8}$ ]]; thenecho "Usage: $0 YYYYMMDD"exit 1fi
Ubuntuの場合は、デフォルトで dash が選択されるのでエラーになります
./yyyymmdd.sh: 4: [[: not found訳あってヘッダの #/bin/sh を変えたくないので、今回は /bin/sh で呼び出されるシェルを変更します
まず、以下のコマンドでリンク内容を探索します
ls -l /bin/sh出力結果は以下です
lrwxrwxrwx 1 root root 4 8月 10 23:19 /bin/sh -> dash一旦このシンボリックリンクを削除し bash で張り直します
場合によっては sudo 等で管理者権限を必要とするかもです
sudo rm /bin/shsudo ln -s bash /bin/sh
これでデフォルトのシェルを切り替えできました 🎉
おわりに
全国的に地震多めなので、ちょっとは備えようかなと思います 🐶