项目需求:需要在编译环境下创建shell脚本文件,并授予可执行权限.

具体实现:调用os模块中的mknod方法,注意Python2与Python3中mknod()方法中参数的区别。

注意:这个方法在哪个机器上面调用执行,生成的文件就在哪台机器上面有可执行权限。如果是在A机器上面调用执行,并不会在B机器上面有可执行权限。这种情况下远程授权还是需要去调用paramiko模块,执行chmod 777 文件名  进行授权。

    def build_pkg_exec_cmd_sh(self, build_cmd_path, build_cmd_content):
        """构建pkg编译打包命令的脚本"""
        import os
        # import stat
        # mode = 0o600 | stat.S_IRUSR
        if not os.path.exists(build_cmd_path):
            # import pdb;pdb.set_trace()
            os.mknod(build_cmd_path, 0o777)
            with open(build_cmd_path, "w+") as fp:
                fp.write(build_cmd_content)