오류: 디렉터리에서 바이너리를 실행할 수 없습니다.

오류: 디렉터리에서 바이너리를 실행할 수 없습니다.

특정 디렉토리에서 일부 bash 스크립트를 실행해야 하는 커뮤니티 소프트웨어를 설치했습니다. 그러나 이렇게 하면 다음과 같은 오류 메시지가 나타납니다.

"ERROR: Command: 'source /usr/bin/bash && module list' failed with error '/bin/sh: line 0: source: /usr/bin/bash: cannot execute binary file' from dir '/home/xxx/example1'.

디렉토리를 으로 변경하면 /usr/bin작동합니다. 문제는 디렉토리에서 스크립트를 실행해야 한다는 것입니다 example1. 나는 성공하지 못한 채 PATH에 /usr/bin을 추가하려고 시도했습니다. 어떤 의견이라도 대단히 감사하겠습니다. 감사해요.

업데이트 1: 소프트웨어가 셸 스크립트를 생성하는 데 사용하는 Python 스크립트는 다음과 같습니다.

def make_env_mach_specific_file(self, shell, case, output_dir=''):
        """Writes .env_mach_specific.sh or .env_mach_specific.csh

        Args:
        shell: string - 'sh' or 'csh'
        case: case object
        output_dir: string - path to output directory (if empty string, uses current directory)
        """
        module_system = self.get_module_system_type()
        sh_init_cmd = self.get_module_system_init_path(shell)
        sh_mod_cmd = self.get_module_system_cmd_path(shell)
        lines = ["# This file is for user convenience only and is not used by the model"]

        lines.append("# Changes to this file will be ignored and overwritten")
        lines.append("# Changes to the environment should be made in env_mach_specific.xml")
        lines.append("# Run ./case.setup --reset to regenerate this file")
        if sh_init_cmd:
            lines.append("source {}".format(sh_init_cmd))

        if "SOFTENV_ALIASES" in os.environ:
            lines.append("source $SOFTENV_ALIASES")
        if "SOFTENV_LOAD" in os.environ:
            lines.append("source $SOFTENV_LOAD")

        if self._unit_testing or self._standalone_configure:
            job = None
        else:
            job = case.get_primary_job()
        modules_to_load = self._get_modules_for_case(case, job=job)
        envs_to_set = self._get_envs_for_case(case, job=job)
        filename = ".env_mach_specific.{}".format(shell)
        if modules_to_load is not None:
            if module_system == "module":
                lines.extend(self._get_module_commands(modules_to_load, shell))
            else:
                for action, argument in modules_to_load:
                    lines.append("{} {} {}".format(sh_mod_cmd, action, "" if argument is None else argument))

        if envs_to_set is not None:
            for env_name, env_value in envs_to_set:
                if shell == "sh":
                    if env_name:
                        lines.append("export {}={}".format(env_name, env_value))
                    else:
                        lines.append("source {}".format(env_value))

                elif shell == "csh":
                    if env_name:
                        lines.append("setenv {} {}".format(env_name, env_value))
                    else:
                        lines.append("echo \"This case includes a shell source file {} which cannot be used from csh type shells\"".format(env_value))
                else:
                    expect(False, "Unknown shell type: '{}'".format(shell))

        with open(os.path.join(output_dir, filename), "w") as fd:
            fd.write("\n".join(lines))

관련 정보