やってしまいました。

rm ${HOGE}/*

HOGEが未定義のため、ルートディレクトリのファイルが全削除。 幸い、rfオプションは付けていなかったので、消されたのはファイルのみ。

CentOS7において、ルートディレクトリに存在するファイルは以下のシンボリックリンク。

  • /bin -> /usr/bin
  • /lib -> /usr/lib
  • /lib64 -> /usr/lib64
  • /sbin/ -> /usr/sbin

組み込み系のコマンドしかまともに動作せず、/usr/binフォルダに移動してコマンドを実行しても

-bash: /usr/bin/ln: /lib64/ld-linux-x86-64.so.2: bad ELF interpreter:

となってしまう…

なんとかググって見つけた以下のサイト

[https://ja.stackoverflow.com/questions/24643/rm-f-%E3%82%92%E5%AE%9F%E8%A1%8C%E3%81%97%E3%81%A6%E3%81%97%E3%81%BE%E3%81%84%E3%81%BE%E3%81%97%E3%81%9F:embed:cite]

# /usr/lib64/ld-linux-x86-64.so.2 --library-path /usr/lib64 /usr/bin/ln -s /usr/lib64 /lib64
# /usr/bin/ln -s /usr/bin /bin
# ln -s /usr/lib /lib
# ln -s /usr/lib64 /lib64
# ln -s /usr/sbin /sbin

上記コマンドで復旧した。神!! 感謝!!! 死ぬほど焦った…

今覚えば、/usr/bin/busyboxを使えばよかったのかもしれない。

ちなみに、shebangにて

#!/bin/bash -eu

とやっていたのだが、該当ファイルを/bin/bashの引数で呼び出したので効いていなかった… shebangではなく本文中にset -euと書くことが大事だと、死ぬほど理解した.