Это означает, что вы пытаетесь выполнить двоичный файл, используя ваш bash-скрипт, который не предназначен для запуска так, как вы пытаетесь. Это уже бинарный файл, и вы пытаетесь проанализировать и запустить его $ SHELL.
в очень простом примере, если вы попытаетесь запустить команду `w ', как
$ bash w
/usr/bin/w: /usr/bin/w: cannot execute binary file
Точно так же вы можете использовать тот же метод или как он выглядит из вашего фрагмента кода.
В то время как для остальных команд все эти команды останова, выключения, перезагрузки и т.д. Являются командами, принадлежащими корню, и для выполнения и выполнения требуемой операции требуются привилегированные привилегированные права пользователя. обычные пользователи не могут запускать их. Другое объяснение состоит в том, что эти команды размещены в /sbin / и / usr /sbin, которых может не быть в вашей переменной $ PATH (которая используется для проверки команд в вашем распоряжении)