跳转至内容
0
  • 版块
  • 讨论
  • 最新
  • 标签
  • 热门
  • 顶端
  • 用户
  • 版块
  • 讨论
  • 最新
  • 标签
  • 热门
  • 顶端
  • 用户
皮肤
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • 默认(Zephyr)
  • 不使用皮肤
折叠
JIKE社区
  1. 首页
  2. 讨论区
  3. 技术专区
  4. 本社区终于可以向 @ChatGPT 提问了!

本社区终于可以向 @ChatGPT 提问了!

已定时 已固定 已锁定 已移动 技术专区
11.5k 帖子 326 发布者 49.5m 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
回复
  • 在新帖中回复
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • W windsigirl

    昆明今日天气 @ChatGPT

    ChatGPTC 离线
    ChatGPTC 离线
    ChatGPT
    写于 最后由 编辑
    #9741

    windsigirl 说:

    昆明今日天气 @ChatGPT

    非常抱歉,作为一名语言模型AI,我无法直接获得昆明的实时天气状况。您可以通过搜索引擎或天气应用程序获得最新、准确的天气信息,以获取昆明的气温、湿度、降雨量等天气信息。

    帖子内容中 @ChatGPT(注意前后空格,发帖后名称变色才行)。必须@才会回答

    1 条回复 最后回复
    0
    • W 离线
      W 离线
      windsigirl
      写于 最后由 编辑
      #9742

      昆明今天的天气 @ChatGPT

      ChatGPTC 1 条回复 最后回复
      0
      • W windsigirl

        昆明今天的天气 @ChatGPT

        ChatGPTC 离线
        ChatGPTC 离线
        ChatGPT
        写于 最后由 编辑
        #9743

        windsigirl 说:

        昆明今天的天气 @ChatGPT

        很高兴为您服务!据我所知,昆明今天的天气预报如下:

        多云,有时局部阵雨,白天最高气温26℃,夜间最低气温15℃。湿度比较高,适宜穿着轻便透气的衣服,注意防晒和保暖。如有需要可以提前准备一把雨伞。

        帖子内容中 @ChatGPT(注意前后空格,发帖后名称变色才行)。必须@才会回答

        1 条回复 最后回复
        0
        • MockingbirdM 离线
          MockingbirdM 离线
          Mockingbird
          🍌
          写于 最后由 编辑
          #9744

          @ChatGPT 请告诉我nginx 重写规则

          ChatGPTC 1 条回复 最后回复
          0
          • MockingbirdM Mockingbird

            @ChatGPT 请告诉我nginx 重写规则

            ChatGPTC 离线
            ChatGPTC 离线
            ChatGPT
            写于 最后由 编辑
            #9745

            Mockingbird 说:

            @ChatGPT 请告诉我nginx 重写规则

            Nginx的重写规则是使用rewrite指令实现的。以下是一些常见的重写规则示例:

            1. 重定向到新域名
            server {
                listen 80;
                server_name old-domain.com;
                return 301 $scheme://new-domain.com$request_uri;
            }
            
            1. 去除文件扩展名
            location / {
                # 去除.php扩展名
                rewrite ^/(.*)\.php$ /$1 permanent;
            }
            
            1. URL重写
            # 将旧的URL /blog/post-123.html 重写为 /blog/123
            location /blog {
                rewrite ^/blog/post-(\d+)\.html$ /blog/$1 permanent;
            }
            
            1. 重写到HTTPS
            server {
                listen 80;
                server_name example.com;
                return 301 https://$server_name$request_uri;
            }
            

            以上是一些典型的Nginx重写规则,您可以根据需要进行修改和定制。需要了解更多关于Nginx重写规则的内容,请参阅Nginx官方文档。

            帖子内容中 @ChatGPT(注意前后空格,发帖后名称变色才行)。必须@才会回答

            1 条回复 最后回复
            0
            • MockingbirdM 离线
              MockingbirdM 离线
              Mockingbird
              🍌
              写于 最后由 编辑
              #9746

              @ChatGPT 请告诉我nginx系统伪静态重写规则

              ChatGPTC 1 条回复 最后回复
              0
              • MockingbirdM Mockingbird

                @ChatGPT 请告诉我nginx系统伪静态重写规则

                ChatGPTC 离线
                ChatGPTC 离线
                ChatGPT
                写于 最后由 编辑
                #9747

                Mockingbird 说:

                @ChatGPT 请告诉我nginx系统伪静态重写规则

                好的,以下是一个基本的 nginx 系统伪静态 (static rewrite) 重写规则示例。这个规则可以将类似于 http://example.com/article.php?id=123 的 URL 重写为 http://example.com/article/123.html:

                location / {
                    rewrite ^/article\.php\?id=(\d+)$ /article/$1.html permanent;
                    # 如果需要匹配多个参数,在 rewrite 的正则表达式中使用 (...) 标记
                }
                
                location /article/ {
                    rewrite ^/article/(\d+)\.html$ /article.php?id=$1 last;
                    # 如果需要匹配多个参数,在 rewrite 的正则表达式中使用 (...) 标记
                }
                

                解释:

                • location / {...} - 定义本规则适用于哪个 URL 路径。
                • rewrite ^/article\.php\?id=(\d+)$ /article/$1.html permanent - 将类似于 http://example.com/article.php?id=123 的 URL 重写为 http://example.com/article/123.html。^/article\.php\?id=(\d+)$ 是一个正则表达式,它匹配所有形如 /article.php?id=XXX 的 URL,其中的 XXX 是一个数字。/article/$1.html 是新的 URL,其中的 $1 代表正则表达式中的第一个匹配项(即 XXX)。
                • location /article/ {...} - 定义重写后的路径。
                • rewrite ^/article/(\d+)\.html$ /article.php?id=$1 last - 将新的 URL http://example.com/article/123.html 重写回原始的格式 http://example.com/article.php?id=123。^/article/(\d+)\.html$ 是一个正则表达式,它匹配所有形如 /article/XXX.html 的 URL,其中的 XXX 是一个数字。/article.php?id=$1 是新的 URL,其中的 $1 代表正则表达式中的第一个匹配项(即 XXX)。last 表示在此规则匹配成功之后不再执行其他规则。

                请注意,上述规则只是一个示例,每个网站的伪静态规则都可能会不同。建议根据网站的实际情况自定义规则。

                帖子内容中 @ChatGPT(注意前后空格,发帖后名称变色才行)。必须@才会回答

                1 条回复 最后回复
                0
                • MockingbirdM 离线
                  MockingbirdM 离线
                  Mockingbird
                  🍌
                  写于 最后由 编辑
                  #9748

                  @ChatGPT 请告诉我Nginx系统重写规则

                  ChatGPTC 1 条回复 最后回复
                  0
                  • MockingbirdM Mockingbird

                    @ChatGPT 请告诉我Nginx系统重写规则

                    ChatGPTC 离线
                    ChatGPTC 离线
                    ChatGPT
                    写于 最后由 编辑
                    #9749

                    Mockingbird 说:

                    @ChatGPT 请告诉我Nginx系统重写规则

                    好的,Nginx系统重写规则非常灵活,可以根据需求进行自定义配置。以下是一些常见的系统重写规则示例:

                    1. 重定向到www域名:
                    server {
                        listen 80;
                        server_name example.com;
                        return 301 $scheme://www.example.com$request_uri;
                    }
                    
                    1. 重定向到https:
                    server {
                        listen 80;
                        server_name example.com;
                        return 301 https://$server_name$request_uri;
                    }
                    
                    server {
                        listen 443 ssl;
                        server_name example.com;
                        ...
                    }
                    
                    1. 移除URL中的文件扩展名:
                    location / {
                        try_files $uri $uri/ $uri.html =404;
                    }
                    
                    1. 使用URL重写规则实现RESTful API:
                    location /api/ {
                        rewrite ^/api/(?[^/]+)/?$ /api.php?resource=$resource last;
                        rewrite ^/api/(?[^/]+)/(?[^/]+)/?$ /api.php?resource=$resource&id=$id last;
                    }
                    

                    上述是一些常见的Nginx系统重写规则示例,你可以根据自己的需求进行自定义配置。更多Nginx系统重写规则可以参考Nginx的官方文档。

                    帖子内容中 @ChatGPT(注意前后空格,发帖后名称变色才行)。必须@才会回答

                    1 条回复 最后回复
                    0
                    • S 离线
                      S 离线
                      scintist
                      🍌
                      写于 最后由 编辑
                      #9750

                      @ChatGPT 学习习近平总书记在主持二十届中共中央政治局第二次集体学习时发表的重要讲话,包括三个部分,分别是简略内容、提出的工作要求、采取的措施

                      ChatGPTC 1 条回复 最后回复
                      0
                      • S scintist

                        @ChatGPT 学习习近平总书记在主持二十届中共中央政治局第二次集体学习时发表的重要讲话,包括三个部分,分别是简略内容、提出的工作要求、采取的措施

                        ChatGPTC 离线
                        ChatGPTC 离线
                        ChatGPT
                        写于 最后由 编辑
                        #9751

                        scintist 说:

                        @ChatGPT 学习习近平总书记在主持二十届中共中央政治局第二次集体学习时发表的重要讲话,包括三个部分,分别是简略内容、提出的工作要求、采取的措施

                        好的,以下是我为您整理的内容:

                        一、简略内容:

                        2018年11月30日,习近平总书记主持召开二十届中共中央政治局第二次集体学习并发表了重要讲话。讲话围绕着“不忘初心,牢记使命”主题,强调了中国共产党要保持初心使命,勇于担当作为,不断提高解决问题的本领,推动中国特色社会主义事业不断向前推进。

                        二、提出的工作要求:

                        习近平总书记在讲话中提出了以下三点工作要求:

                        1. 坚定初心使命,永葆共产党人本色。要求全党同志要坚守共产党人的信仰、理想、信念,牢记自己的党员身份,时刻保持争取人民利益的初心和使命。

                        2. 突出问题导向,加强解决问题的本领。要求全党同志要高度关注、研究和解决当前面临的各项问题,强化问题导向思维,不断提高解决问题的本领。

                        3. 推动全面从严治党向纵深发展。要求全党同志要重视党内政治生活,加强自身建设,不断增强党的执政能力和领导水平,着力解决党内存在的风险和问题。

                        三、采取的措施:

                        习近平总书记在讲话中采取了以下三个措施:

                        1. 推动党员干部切实落实党的基本路线。要求全党同志要自觉维护党的基本路线,确保全党人民不断前进。

                        2. 引导党员干部健康成长。要求全党同志要注重培养自己的道德修养和党性修养,加强个人职业能力和素质的提升,努力成为有用之才。

                        3. 建立健全制度体系。要求全党同志要适应新时代的需要,加强制度建设,落实好管党治党的各项制度和措施,确保全面从严治党向纵深发展。

                        帖子内容中 @ChatGPT(注意前后空格,发帖后名称变色才行)。必须@才会回答

                        1 条回复 最后回复
                        0
                        • S 离线
                          S 离线
                          scintist
                          🍌
                          写于 最后由 编辑
                          #9752

                          @ChatGPT “新发展格局以现代化产业体系为基础,经济循环畅通需要各产业有序链接、高效畅通。要继续把发展经济的着力点放在实体经济上,扎实推进新型工业化,加快建设制造强国、质量强国、网络强国、数字中国,打造具有国际竞争力的数字产业集群”这段话在通信行业领域有哪些工作要求,下一步工作措施有哪些

                          ChatGPTC 1 条回复 最后回复
                          0
                          • S scintist

                            @ChatGPT “新发展格局以现代化产业体系为基础,经济循环畅通需要各产业有序链接、高效畅通。要继续把发展经济的着力点放在实体经济上,扎实推进新型工业化,加快建设制造强国、质量强国、网络强国、数字中国,打造具有国际竞争力的数字产业集群”这段话在通信行业领域有哪些工作要求,下一步工作措施有哪些

                            ChatGPTC 离线
                            ChatGPTC 离线
                            ChatGPT
                            写于 最后由 编辑
                            #9753

                            scintist 说:

                            @ChatGPT “新发展格局以现代化产业体系为基础,经济循环畅通需要各产业有序链接、高效畅通。要继续把发展经济的着力点放在实体经济上,扎实推进新型工业化,加快建设制造强国、质量强国、网络强国、数字中国,打造具有国际竞争力的数字产业集群”这段话在通信行业领域有哪些工作要求,下一步工作措施有哪些

                            这段话强调了新发展格局需要实现经济循环畅通,打造具有国际竞争力的数字产业集群,并特别提到了要推进网络强国和数字中国建设。下面是针对通信行业领域的工作要求和下一步工作措施:

                            1. 稳步推进5G建设:5G是数字经济时代的基础设施,是一个强大的综合平台,通信行业需要加强5G网络建设、频谱规划、商用应用等方面的投入。

                            2. 推进宽带网络建设:要深入推进“宽带中国”建设,持续加强宽带网络基础建设和提升网络速度,以提高数据传输的效率和准确性。

                            3. 大力发展物联网:将传统通信行业与物联网技术结合起来,发展智能家居、智慧城市等方面的应用,提高生产效率和人民生活质量。

                            4. 提高可靠性、稳定性、安全性:在网络运行过程中,需要考虑通信网络的可靠性、稳定性和安全性等因素,为广大用户提供高品质的通信服务。

                            5. 发展数字化产业:加快通信行业向数字化、网络化、智能化转型,推动数字化产业的发展,完善产业链及商业模式,打造数字产业集群。

                            为实现这些工作要求,下一步通信行业可能采取以下措施:

                            1. 加大技术研发和投入力度,完善网络设施及技术规范。

                            2. 推动技术创新和实用应用的结合,推广5G、物联网等领先技术。

                            3. 完善通信服务质量监管体系,严格监管通信企业的管理和运营。

                            4. 加强与其他产业的联动合作,全面推进数字化产业的发展。

                            5. 加强国际合作,与其他国家或地区分享技术和资源,推动行业全球化发展。

                            帖子内容中 @ChatGPT(注意前后空格,发帖后名称变色才行)。必须@才会回答

                            1 条回复 最后回复
                            0
                            • D 离线
                              D 离线
                              dianka2
                              🍌
                              写于 最后由 编辑
                              #9754

                              @ChatGPT 焊机焊接最后多厚的铁板,有什么要求?

                              ChatGPTC 1 条回复 最后回复
                              0
                              • D dianka2

                                @ChatGPT 焊机焊接最后多厚的铁板,有什么要求?

                                ChatGPTC 离线
                                ChatGPTC 离线
                                ChatGPT
                                写于 最后由 编辑
                                #9755

                                dianka2 说:

                                @ChatGPT 焊机焊接最后多厚的铁板,有什么要求?

                                焊机焊接铁板的厚度取决于所使用的焊机类型和规格,以及焊接工艺的操作技能。一般来说,手摇电焊机适合焊接较薄的铁板,一般不超过5毫米,而气体保护焊或电弧焊等高级焊接方法可以焊接更厚的铁板,甚至可以达到数十毫米的厚度。

                                在选择焊接铁板时,需要考虑以下一些要求:

                                1.焊材的选取: 应选择与被焊件材料相同的焊材, 或相似的焊材.

                                2.焊接条件: 需要掌握好电流、电压、电极大小、每厘米开弧次数的控制及其他焊接条件.

                                3.表面准备:焊前应做好被焊件表面的清洁和处理,以避免焊缝质量不佳。

                                4.操作技能:需要熟练的焊接技能及经验,能够准确地掌握焊接温度,焊接速度等参数。

                                总的来说,除了考虑材料厚度,选择合适的焊接方法、焊材和技术方案,以及准确掌握焊接参数和技能是焊接铁板要求的关键。

                                帖子内容中 @ChatGPT(注意前后空格,发帖后名称变色才行)。必须@才会回答

                                1 条回复 最后回复
                                0
                                • S 离线
                                  S 离线
                                  scintist
                                  🍌
                                  写于 最后由 编辑
                                  #9756

                                  @ChatGPT 如何理解“要完整、准确、全面贯彻新发展理念,加快构建新发展格局,着力推动高质量发展”

                                  ChatGPTC 1 条回复 最后回复
                                  0
                                  • S scintist

                                    @ChatGPT 如何理解“要完整、准确、全面贯彻新发展理念,加快构建新发展格局,着力推动高质量发展”

                                    ChatGPTC 离线
                                    ChatGPTC 离线
                                    ChatGPT
                                    写于 最后由 编辑
                                    #9757

                                    scintist 说:

                                    @ChatGPT 如何理解“要完整、准确、全面贯彻新发展理念,加快构建新发展格局,着力推动高质量发展”

                                    “要完整、准确、全面贯彻新发展理念,加快构建新发展格局,着力推动高质量发展”,是指在当前中国社会经济发展的背景下,需要坚持新发展理念,以加快构建新的发展格局,着力推动高质量的经济发展。

                                    其中,“完整、准确、全面贯彻新发展理念”意味着在各个方面和各个阶段都要贯彻新发展理念,这可以使经济和社会发展更加科学和可持续。

                                    “加快构建新发展格局”则是指在众多的制度和政策保障的基础上,深化各种改革,努力推动经济的新发展形态和新产业的发展,为全国经济持续快速发展提供保障。

                                    最后,“着力推动高质量发展”是指通过有效的科学系统和可行的手段,在不断提升经济发展效益和质量的同时,还必须加快创新,提高科技水平和创新能力,增强核心竞争力,使中国的经济发展能够更快更好地增长,更加优势地面向未来,更加符合人民群众的根本利益和期待。

                                    帖子内容中 @ChatGPT(注意前后空格,发帖后名称变色才行)。必须@才会回答

                                    1 条回复 最后回复
                                    0
                                    • F 离线
                                      F 离线
                                      for culture
                                      🍌
                                      写于 最后由 编辑
                                      #9758

                                      @ChatGPT #!/bin/bash
                                      argv=$1
                                      #deploy=$1
                                      count=0
                                      filename=()
                                      isTar=1
                                      if [ $isTar == "1" ]
                                      then

                                      path=cd $(dirname $0);pwd -P
                                      #echo the current path is:$path
                                      for i in ls
                                      do
                                      filegz="tar.gz"
                                      if [[ $i == $filegz ]]
                                      then
                                      #echo $i
                                      filename[count]=$i
                                      count=expr $count + 1
                                      fi
                                      done

                                      #echo $count
                                      #echo ${filename[@]}
                                      for((n=0;n<${#filename[@]};n++)){
                                      echo -e "\033[40;35m"$n"\033[0m \033[40;32m"${filename[n]}"\033[0m"
                                      }

                                      if (("$count" <= "0"));
                                      then
                                      echo "请下载部署包"
                                      exit
                                      elif (("$count" == "1"));
                                      then
                                      if [ $argv == "PBox" ];
                                      then
                                      tar zxvf ${filename[0]} -C /pbox
                                      else
                                      tar zxvf ${filename[0]} -C /mnt
                                      fi
                                      else
                                      echo -e "\033[40;36m 请选择部署包:\033[0m"
                                      read inNum
                                      if (("$inNum" < "0")) || (("$inNum" >= "$count"))
                                      then
                                      echo "索引错误"
                                      exit
                                      else
                                      if [ $argv == "PBox" ];
                                      then
                                      tar zxvf ${filename[0]} -C /pbox
                                      else
                                      tar zxvf ${filename[0]} -C /mnt
                                      fi
                                      fi
                                      fi
                                      fi

                                      #echo "解压部署包"
                                      #echo $deploy
                                      #tar -zxvf $deploy
                                      #echo "解压部署包完成"

                                      inspect(){
                                      if [ $argv != "PBox16.04" ];
                                      then
                                      cp -rf /mnt/profile /etc/
                                      fi
                                      if [ ! -d "/mnt/FCloudComm" ]
                                      then
                                      echo "1"
                                      exit
                                      fi
                                      if [ ! -f "/mnt/run.sh" ]
                                      then
                                      echo "2"
                                      exit
                                      fi

                                      if [ ! -f "/usr/lib/libiconv.so.2.6.1" ];
                                      then
                                      cp -rf /mnt/FCloudComm/bin/libiconv.so.2.6.1 /usr/lib/
                                      ln -sf /usr/lib/libiconv.so.2.6.1 /usr/lib/libiconv.so
                                      ln -sf /usr/lib/libiconv.so.2.6.1 /usr/lib/libiconv.so.2
                                      fi
                                      
                                      sed -i '/source/d' /etc/init.d/rc.local
                                      sed -i '$a source /mnt/run.sh' /etc/init.d/rc.local
                                      
                                      #taosd &>/dev/null
                                      echo "历史数据库安装完成"
                                      

                                      }

                                      inspectPBox(){
                                      if [ ! -d "/pbox/FCloudComm" ]
                                      then
                                      echo "1"
                                      exit
                                      fi
                                      if [ ! -f "/pbox/run.sh" ]
                                      then
                                      echo "2"
                                      exit
                                      fi

                                      if [ ! -f "/usr/lib/libiconv.so.2.6.1" ];
                                      then
                                      cp -rf /pbox/FCloudComm/bin/libiconv.so.2.6.1 /usr/lib/
                                      ln -sf /usr/lib/libiconv.so.2.6.1 /usr/lib/libiconv.so
                                      ln -sf /usr/lib/libiconv.so.2.6.1 /usr/lib/libiconv.so.2
                                      fi
                                      
                                      #taosd &>/dev/null
                                      echo "历史数据库安装完成"
                                      

                                      }

                                      echo "拷贝系统文件"

                                      if [ $argv == "8401d" ];
                                      then
                                      cp -rf ./libstdc++.so.6 /usr/lib/arm-linux-gnueabihf/
                                      cp -rf ./libstdc++.so.6.0.21 /usr/lib/arm-linux-gnueabihf/
                                      fi

                                      if [ $argv == "ISG" ];
                                      then
                                      cp -rf ./libstdc++.so.6.0.21 /usr/lib/arm-linux-gnueabihf/
                                      ln -sf /usr/lib/arm-linux-gnueabihf/libstdc++.so.6.0.21 /usr/lib/arm-linux-gnueabihf/libstdc++.so.6

                                      if [ ! -f "/usr/lib/libatomic.so.1.0.0" ];
                                      then
                                      cp -rf /mnt/FCloudComm/bin/libatomic.so.1.0.0 /usr/lib/
                                      ln -sf /usr/lib/libatomic.so.1.0.0 /usr/lib/libatomic.so.1
                                      ln -sf /usr/lib/libatomic.so.1.0.0 /usr/lib/libatomic.so
                                      fi
                                      fi

                                      echo "拷贝系统文件完成"

                                      echo -e "\033[40;36m 网口选择 单网(1)双网(2) \033[0m"
                                      read input
                                      #echo $input
                                      if [ $input == "1" ];
                                      then
                                      sed -i 's/NetCardCount = "2"/NetCardCount = "1"/g' /mnt/FCloudComm/bin/pSL_Setting.xml
                                      sed -i '/sleep 1/d' /mnt/FCloudComm/tools/IPCfg
                                      sed -i '/ifconfig eth1 192.168.20.101 netmask 255.255.255.0 up/d' /mnt/FCloudComm/tools/IPCfg
                                      sed -i '/route add default gw 192.168.20.1 dev eth1/d' /mnt/FCloudComm/tools/IPCfg
                                      fi
                                      echo "网口配置完成"

                                      #4G函数
                                      echo -e "\033[40;36m 是否支持4G? 否(0)是(1) \033[0m"

                                      read -p "" number
                                      if [ $number -eq 0 ];
                                      then
                                      if [ $argv == "8401d" ];
                                      then
                                      sed -i '/active4g.sh/d' /mnt/run.sh
                                      fi

                                      if [ $argv == "PBox" ];
                                      then
                                      sed -i '/quectel-pppd.sh/d' /pbox/run.sh
                                      fi
                                      
                                      if [ $argv == "PBox16.04" ];
                                      then
                                      sed -i '/quectel-pppd.sh/d' /mnt/run.sh
                                      fi
                                      

                                      fi

                                      if [ $number -eq 1 ];
                                      then
                                      if [ $argv == "8401d" ];
                                      then
                                      sed -i '/active4g.sh/d' /mnt/run.sh
                                      sed -i '/sleep 10/i\sh ./active4g.sh &' /mnt/run.sh
                                      fi

                                      if [ $argv == "PBox" ];
                                      then
                                      sed -i '/quectel-pppd.sh/d' /pbox/run.sh
                                      sed -i '/sleep 10/i\sh ./quectel-pppd.sh &' /pbox/run.sh
                                      fi
                                      
                                      if [ $argv == "PBox16.04" ];
                                      then
                                      sed -i '/quectel-pppd.sh/d' /mnt/run.sh
                                      sed -i '/sleep 10/i\sh ./quectel-pppd.sh &' /mnt/run.sh
                                      fi
                                      

                                      fi

                                      if [ $number -ne 1 ] && [ $number -ne 0 ];
                                      then
                                      echo "输入错误"
                                      fi

                                      echo "配置开机启动"
                                      if [ $argv == "8401d" ];
                                      then
                                      sed -i '1c #! /bin/bash' /etc/init.d/rc.local
                                      fi

                                      if [ $argv == "PBox16.04" ];
                                      then
                                      sed -i '1c #! /bin/bash' /etc/rc.local
                                      fi

                                      if [ $argv == "ISG" ];
                                      then
                                      sed -i '1c #! /bin/bash' /etc/init.d/rocktech.sh
                                      sed -i '/source/d' /etc/init.d/rocktech.sh
                                      sed -i '$a source /mnt/run.sh' /etc/init.d/rocktech.sh
                                      sed -i '/source/d' /etc/init.d/rc.local
                                      sed -i "114s:#::g" /etc/init.d/rocktech.sh
                                      fi

                                      echo "配置开机启动完成"

                                      echo "初始化本地ip地址"
                                      sed -i 's/address 190.5.20.171/address 192.168.10.101/g' /etc/network/interfaces
                                      sed -i 's/gateway 190.5.200.11/gateway 192.168.10.1/g' /etc/network/interfaces
                                      sed -i 's/address 192.168.1.100/address 192.168.20.101/g' /etc/network/interfaces
                                      sed -i 's/gateway 192.168.1.1/gateway 192.168.20.1/g' /etc/network/interfaces
                                      echo "初始化本地ip地址结束"

                                      echo "配置历史数据库"

                                      #td库ISG网关配置
                                      td(){
                                      cd /mnt/TDengine-server-2.0.10.0/
                                      ./install.sh &>/dev/null
                                      sed -i 's/firstEp/#firstEp/g' /etc/taos/taos.cfg
                                      sed -i 's/# fqdn/fqdn/g' /etc/taos/taos.cfg
                                      sed -i 's/hostname/localhost/g' /etc/taos/taos.cfg
                                      }

                                      #PBox网关配置
                                      PB(){
                                      if [ ! -f "/usr/lib/libatomic.so.1.0.0" ];
                                      then
                                      cp -rf /pbox/FCloudComm/bin/libatomic.so.1.0.0 /usr/lib/
                                      ln -sf /usr/lib/libatomic.so.1.0.0 /usr/lib/libatomic.so.1
                                      ln -sf /usr/lib/libatomic.so.1.0.0 /usr/lib/libatomic.so
                                      fi

                                      sed -i '1c #! /bin/bash' /etc/init.d/rc.local
                                      cd /pbox/TDengine-server-2.0.10.0
                                      ./install.sh &>/dev/null
                                      sed -i 's/firstEp/#firstEp/g' /etc/taos/taos.cfg
                                      sed -i 's/# logDir/ logDir/g' /etc/taos/taos.cfg
                                      sed -i 's/# dataDir/ dataDir/g' /etc/taos/taos.cfg
                                      sed -i 's#/var/log/taos#/pbox/log#g' /etc/taos/taos.cfg
                                      sed -i 's#/var/lib/taos#/pbox/lib#g' /etc/taos/taos.cfg
                                      
                                      sed -i '/run.sh/d' /etc/rc5.d/S99rmnologin.sh
                                      sed -i '$a source /pbox/run.sh' /etc/rc5.d/S99rmnologin.sh
                                      

                                      }

                                      power(){
                                      source /mnt/FCloudComm/tools/setEnv.sh
                                      if [ -d "/mnt/config" ];then
                                      #echo "文件夹存在"

                                      if [ -f "/mnt/config/hardwareinfo.HID" ];then
                                      #echo "文件存在"
                                      cp -rf /mnt/config/hardwareinfo.HID /mnt/FCloudComm
                                      else
                                      #echo "文件不存在"
                                      echo "配置完成  请放入HID 和 授权文件"
                                      /mnt/FCloudComm/bin/getID
                                      fi
                                      
                                      if [ -f "/mnt/config/"*".lic" ];then
                                      #echo "文件存在"
                                      cp -rf /mnt/config/*.lic /mnt/FCloudComm/bin
                                      else
                                      #echo "文件不存在"
                                      echo "配置完成  请放入HID 和 授权文件"
                                      /mnt/FCloudComm/bin/getID
                                      fi
                                      
                                      else
                                      #echo "文件夹不存在"
                                      echo "配置完成  请放入HID 和 授权文件"
                                      /mnt/FCloudComm/bin/getID
                                      fi
                                      #echo "配置完成  请放入HID 和 授权文件"
                                      #/mnt/FCloudComm/bin/getID
                                      

                                      }

                                      powerPBox(){
                                      source /pbox/FCloudComm/tools/setEnv.sh
                                      if [ -d "/pbox/config" ];then
                                      #echo "文件夹存在"

                                      if [ -f "/pbox/config/hardwareinfo.HID" ];then
                                      #echo "文件存在"
                                      cp -rf /pbox/config/hardwareinfo.HID /pbox/FCloudComm
                                      else
                                      #echo "文件不存在"
                                      echo "配置完成  请放入HID 和 授权文件"
                                      /pbox/FCloudComm/bin/getID
                                      fi
                                      
                                      if [ -f "/pbox/config/"*".lic" ];then
                                      #echo "文件存在"
                                      cp -rf /pbox/config/*.lic /pbox/FCloudComm/bin
                                      else
                                      #echo "文件不存在"
                                      echo "配置完成  请放入HID 和 授权文件"
                                      /pbox/FCloudComm/bin/getID
                                      fi
                                      
                                      else
                                      #echo "文件夹不存在"
                                      echo "配置完成  请放入HID 和 授权文件"
                                      /pbox/FCloudComm/bin/getID
                                      fi
                                      #echo "配置完成  请放入HID 和 授权文件"
                                      #/pbox/FCloudComm/bin/getID
                                      

                                      }

                                      case "$1" in
                                      8401d)
                                      cd /mnt/TDengine-server-2.0.10.0
                                      ./install.sh &>/dev/null
                                      sed -i 's#/third/log#log#g' /etc/taos/taos.cfg
                                      sed -i 's#/third/data#data#g' /etc/taos/taos.cfg
                                      sed -i 's/firstEp/#firstEp/g' /etc/taos/taos.cfg
                                      inspect
                                      power
                                      ;;
                                      8316)
                                      i="0"
                                      while read path
                                      do
                                      if [ "$path" == "127.0.0.1 GEA-8316-DLK" ];
                                      then
                                      i="1"
                                      fi
                                      done < /etc/hosts

                                      		if [ "$i" != "1" ];
                                      		then
                                      		sed -i '$a\127.0.0.1    GEA-8316-DLK' /etc/hosts
                                      		fi
                                      
                                      		cd /mnt/TDengine-server-2.0.10.0
                                      		./install.sh &>/dev/null
                                      		sed -i 's/firstEp/#firstEp/g' /etc/taos/taos.cfg
                                      	
                                      		inspect
                                      		power
                                          ;;
                                      ISG)
                                      	i="0"
                                              while read path
                                              do
                                                  if [ "$path" == "127.0.0.1      localhost" ];
                                                  then
                                                  i="1"
                                                  fi
                                              done < /etc/hosts
                                      
                                              if [ "$i" != "1" ];
                                              then
                                              echo "127.0.0.1      localhost"> /etc/hosts
                                              fi
                                      			
                                      		td
                                      		inspect
                                      		power
                                      	;;
                                      PBox)
                                      	i="0"
                                              while read path
                                              do
                                                  if [ "$path" == "127.0.0.1      imx6ull14x14evk" ];
                                                  then
                                                  i="1"
                                                  fi
                                              done < /etc/hosts
                                      
                                              if [ "$i" != "1" ];
                                              then
                                              echo "127.0.0.1      imx6ull14x14evk"> /etc/hosts
                                              fi
                                      		PB
                                      		inspectPBox
                                      		powerPBox
                                      	;;
                                      PBox16.04)
                                      	pkexec chown root:root /etc/sudoers /etc/sudoers.d -R
                                      	td
                                      	inspect
                                      	power
                                      	sed -i '/source/d' /etc/init.d/rc.local
                                      	sed -i '/source/d' /etc/rc.local
                                      	sed -i '/sleep 1/isource /mnt/run.sh' /etc/rc.local
                                      	;;	
                                      

                                      esac

                                      用python重写

                                      ChatGPTC 1 条回复 最后回复
                                      0
                                      • F for culture

                                        @ChatGPT #!/bin/bash
                                        argv=$1
                                        #deploy=$1
                                        count=0
                                        filename=()
                                        isTar=1
                                        if [ $isTar == "1" ]
                                        then

                                        path=cd $(dirname $0);pwd -P
                                        #echo the current path is:$path
                                        for i in ls
                                        do
                                        filegz="tar.gz"
                                        if [[ $i == $filegz ]]
                                        then
                                        #echo $i
                                        filename[count]=$i
                                        count=expr $count + 1
                                        fi
                                        done

                                        #echo $count
                                        #echo ${filename[@]}
                                        for((n=0;n<${#filename[@]};n++)){
                                        echo -e "\033[40;35m"$n"\033[0m \033[40;32m"${filename[n]}"\033[0m"
                                        }

                                        if (("$count" <= "0"));
                                        then
                                        echo "请下载部署包"
                                        exit
                                        elif (("$count" == "1"));
                                        then
                                        if [ $argv == "PBox" ];
                                        then
                                        tar zxvf ${filename[0]} -C /pbox
                                        else
                                        tar zxvf ${filename[0]} -C /mnt
                                        fi
                                        else
                                        echo -e "\033[40;36m 请选择部署包:\033[0m"
                                        read inNum
                                        if (("$inNum" < "0")) || (("$inNum" >= "$count"))
                                        then
                                        echo "索引错误"
                                        exit
                                        else
                                        if [ $argv == "PBox" ];
                                        then
                                        tar zxvf ${filename[0]} -C /pbox
                                        else
                                        tar zxvf ${filename[0]} -C /mnt
                                        fi
                                        fi
                                        fi
                                        fi

                                        #echo "解压部署包"
                                        #echo $deploy
                                        #tar -zxvf $deploy
                                        #echo "解压部署包完成"

                                        inspect(){
                                        if [ $argv != "PBox16.04" ];
                                        then
                                        cp -rf /mnt/profile /etc/
                                        fi
                                        if [ ! -d "/mnt/FCloudComm" ]
                                        then
                                        echo "1"
                                        exit
                                        fi
                                        if [ ! -f "/mnt/run.sh" ]
                                        then
                                        echo "2"
                                        exit
                                        fi

                                        if [ ! -f "/usr/lib/libiconv.so.2.6.1" ];
                                        then
                                        cp -rf /mnt/FCloudComm/bin/libiconv.so.2.6.1 /usr/lib/
                                        ln -sf /usr/lib/libiconv.so.2.6.1 /usr/lib/libiconv.so
                                        ln -sf /usr/lib/libiconv.so.2.6.1 /usr/lib/libiconv.so.2
                                        fi
                                        
                                        sed -i '/source/d' /etc/init.d/rc.local
                                        sed -i '$a source /mnt/run.sh' /etc/init.d/rc.local
                                        
                                        #taosd &>/dev/null
                                        echo "历史数据库安装完成"
                                        

                                        }

                                        inspectPBox(){
                                        if [ ! -d "/pbox/FCloudComm" ]
                                        then
                                        echo "1"
                                        exit
                                        fi
                                        if [ ! -f "/pbox/run.sh" ]
                                        then
                                        echo "2"
                                        exit
                                        fi

                                        if [ ! -f "/usr/lib/libiconv.so.2.6.1" ];
                                        then
                                        cp -rf /pbox/FCloudComm/bin/libiconv.so.2.6.1 /usr/lib/
                                        ln -sf /usr/lib/libiconv.so.2.6.1 /usr/lib/libiconv.so
                                        ln -sf /usr/lib/libiconv.so.2.6.1 /usr/lib/libiconv.so.2
                                        fi
                                        
                                        #taosd &>/dev/null
                                        echo "历史数据库安装完成"
                                        

                                        }

                                        echo "拷贝系统文件"

                                        if [ $argv == "8401d" ];
                                        then
                                        cp -rf ./libstdc++.so.6 /usr/lib/arm-linux-gnueabihf/
                                        cp -rf ./libstdc++.so.6.0.21 /usr/lib/arm-linux-gnueabihf/
                                        fi

                                        if [ $argv == "ISG" ];
                                        then
                                        cp -rf ./libstdc++.so.6.0.21 /usr/lib/arm-linux-gnueabihf/
                                        ln -sf /usr/lib/arm-linux-gnueabihf/libstdc++.so.6.0.21 /usr/lib/arm-linux-gnueabihf/libstdc++.so.6

                                        if [ ! -f "/usr/lib/libatomic.so.1.0.0" ];
                                        then
                                        cp -rf /mnt/FCloudComm/bin/libatomic.so.1.0.0 /usr/lib/
                                        ln -sf /usr/lib/libatomic.so.1.0.0 /usr/lib/libatomic.so.1
                                        ln -sf /usr/lib/libatomic.so.1.0.0 /usr/lib/libatomic.so
                                        fi
                                        fi

                                        echo "拷贝系统文件完成"

                                        echo -e "\033[40;36m 网口选择 单网(1)双网(2) \033[0m"
                                        read input
                                        #echo $input
                                        if [ $input == "1" ];
                                        then
                                        sed -i 's/NetCardCount = "2"/NetCardCount = "1"/g' /mnt/FCloudComm/bin/pSL_Setting.xml
                                        sed -i '/sleep 1/d' /mnt/FCloudComm/tools/IPCfg
                                        sed -i '/ifconfig eth1 192.168.20.101 netmask 255.255.255.0 up/d' /mnt/FCloudComm/tools/IPCfg
                                        sed -i '/route add default gw 192.168.20.1 dev eth1/d' /mnt/FCloudComm/tools/IPCfg
                                        fi
                                        echo "网口配置完成"

                                        #4G函数
                                        echo -e "\033[40;36m 是否支持4G? 否(0)是(1) \033[0m"

                                        read -p "" number
                                        if [ $number -eq 0 ];
                                        then
                                        if [ $argv == "8401d" ];
                                        then
                                        sed -i '/active4g.sh/d' /mnt/run.sh
                                        fi

                                        if [ $argv == "PBox" ];
                                        then
                                        sed -i '/quectel-pppd.sh/d' /pbox/run.sh
                                        fi
                                        
                                        if [ $argv == "PBox16.04" ];
                                        then
                                        sed -i '/quectel-pppd.sh/d' /mnt/run.sh
                                        fi
                                        

                                        fi

                                        if [ $number -eq 1 ];
                                        then
                                        if [ $argv == "8401d" ];
                                        then
                                        sed -i '/active4g.sh/d' /mnt/run.sh
                                        sed -i '/sleep 10/i\sh ./active4g.sh &' /mnt/run.sh
                                        fi

                                        if [ $argv == "PBox" ];
                                        then
                                        sed -i '/quectel-pppd.sh/d' /pbox/run.sh
                                        sed -i '/sleep 10/i\sh ./quectel-pppd.sh &' /pbox/run.sh
                                        fi
                                        
                                        if [ $argv == "PBox16.04" ];
                                        then
                                        sed -i '/quectel-pppd.sh/d' /mnt/run.sh
                                        sed -i '/sleep 10/i\sh ./quectel-pppd.sh &' /mnt/run.sh
                                        fi
                                        

                                        fi

                                        if [ $number -ne 1 ] && [ $number -ne 0 ];
                                        then
                                        echo "输入错误"
                                        fi

                                        echo "配置开机启动"
                                        if [ $argv == "8401d" ];
                                        then
                                        sed -i '1c #! /bin/bash' /etc/init.d/rc.local
                                        fi

                                        if [ $argv == "PBox16.04" ];
                                        then
                                        sed -i '1c #! /bin/bash' /etc/rc.local
                                        fi

                                        if [ $argv == "ISG" ];
                                        then
                                        sed -i '1c #! /bin/bash' /etc/init.d/rocktech.sh
                                        sed -i '/source/d' /etc/init.d/rocktech.sh
                                        sed -i '$a source /mnt/run.sh' /etc/init.d/rocktech.sh
                                        sed -i '/source/d' /etc/init.d/rc.local
                                        sed -i "114s:#::g" /etc/init.d/rocktech.sh
                                        fi

                                        echo "配置开机启动完成"

                                        echo "初始化本地ip地址"
                                        sed -i 's/address 190.5.20.171/address 192.168.10.101/g' /etc/network/interfaces
                                        sed -i 's/gateway 190.5.200.11/gateway 192.168.10.1/g' /etc/network/interfaces
                                        sed -i 's/address 192.168.1.100/address 192.168.20.101/g' /etc/network/interfaces
                                        sed -i 's/gateway 192.168.1.1/gateway 192.168.20.1/g' /etc/network/interfaces
                                        echo "初始化本地ip地址结束"

                                        echo "配置历史数据库"

                                        #td库ISG网关配置
                                        td(){
                                        cd /mnt/TDengine-server-2.0.10.0/
                                        ./install.sh &>/dev/null
                                        sed -i 's/firstEp/#firstEp/g' /etc/taos/taos.cfg
                                        sed -i 's/# fqdn/fqdn/g' /etc/taos/taos.cfg
                                        sed -i 's/hostname/localhost/g' /etc/taos/taos.cfg
                                        }

                                        #PBox网关配置
                                        PB(){
                                        if [ ! -f "/usr/lib/libatomic.so.1.0.0" ];
                                        then
                                        cp -rf /pbox/FCloudComm/bin/libatomic.so.1.0.0 /usr/lib/
                                        ln -sf /usr/lib/libatomic.so.1.0.0 /usr/lib/libatomic.so.1
                                        ln -sf /usr/lib/libatomic.so.1.0.0 /usr/lib/libatomic.so
                                        fi

                                        sed -i '1c #! /bin/bash' /etc/init.d/rc.local
                                        cd /pbox/TDengine-server-2.0.10.0
                                        ./install.sh &>/dev/null
                                        sed -i 's/firstEp/#firstEp/g' /etc/taos/taos.cfg
                                        sed -i 's/# logDir/ logDir/g' /etc/taos/taos.cfg
                                        sed -i 's/# dataDir/ dataDir/g' /etc/taos/taos.cfg
                                        sed -i 's#/var/log/taos#/pbox/log#g' /etc/taos/taos.cfg
                                        sed -i 's#/var/lib/taos#/pbox/lib#g' /etc/taos/taos.cfg
                                        
                                        sed -i '/run.sh/d' /etc/rc5.d/S99rmnologin.sh
                                        sed -i '$a source /pbox/run.sh' /etc/rc5.d/S99rmnologin.sh
                                        

                                        }

                                        power(){
                                        source /mnt/FCloudComm/tools/setEnv.sh
                                        if [ -d "/mnt/config" ];then
                                        #echo "文件夹存在"

                                        if [ -f "/mnt/config/hardwareinfo.HID" ];then
                                        #echo "文件存在"
                                        cp -rf /mnt/config/hardwareinfo.HID /mnt/FCloudComm
                                        else
                                        #echo "文件不存在"
                                        echo "配置完成  请放入HID 和 授权文件"
                                        /mnt/FCloudComm/bin/getID
                                        fi
                                        
                                        if [ -f "/mnt/config/"*".lic" ];then
                                        #echo "文件存在"
                                        cp -rf /mnt/config/*.lic /mnt/FCloudComm/bin
                                        else
                                        #echo "文件不存在"
                                        echo "配置完成  请放入HID 和 授权文件"
                                        /mnt/FCloudComm/bin/getID
                                        fi
                                        
                                        else
                                        #echo "文件夹不存在"
                                        echo "配置完成  请放入HID 和 授权文件"
                                        /mnt/FCloudComm/bin/getID
                                        fi
                                        #echo "配置完成  请放入HID 和 授权文件"
                                        #/mnt/FCloudComm/bin/getID
                                        

                                        }

                                        powerPBox(){
                                        source /pbox/FCloudComm/tools/setEnv.sh
                                        if [ -d "/pbox/config" ];then
                                        #echo "文件夹存在"

                                        if [ -f "/pbox/config/hardwareinfo.HID" ];then
                                        #echo "文件存在"
                                        cp -rf /pbox/config/hardwareinfo.HID /pbox/FCloudComm
                                        else
                                        #echo "文件不存在"
                                        echo "配置完成  请放入HID 和 授权文件"
                                        /pbox/FCloudComm/bin/getID
                                        fi
                                        
                                        if [ -f "/pbox/config/"*".lic" ];then
                                        #echo "文件存在"
                                        cp -rf /pbox/config/*.lic /pbox/FCloudComm/bin
                                        else
                                        #echo "文件不存在"
                                        echo "配置完成  请放入HID 和 授权文件"
                                        /pbox/FCloudComm/bin/getID
                                        fi
                                        
                                        else
                                        #echo "文件夹不存在"
                                        echo "配置完成  请放入HID 和 授权文件"
                                        /pbox/FCloudComm/bin/getID
                                        fi
                                        #echo "配置完成  请放入HID 和 授权文件"
                                        #/pbox/FCloudComm/bin/getID
                                        

                                        }

                                        case "$1" in
                                        8401d)
                                        cd /mnt/TDengine-server-2.0.10.0
                                        ./install.sh &>/dev/null
                                        sed -i 's#/third/log#log#g' /etc/taos/taos.cfg
                                        sed -i 's#/third/data#data#g' /etc/taos/taos.cfg
                                        sed -i 's/firstEp/#firstEp/g' /etc/taos/taos.cfg
                                        inspect
                                        power
                                        ;;
                                        8316)
                                        i="0"
                                        while read path
                                        do
                                        if [ "$path" == "127.0.0.1 GEA-8316-DLK" ];
                                        then
                                        i="1"
                                        fi
                                        done < /etc/hosts

                                        		if [ "$i" != "1" ];
                                        		then
                                        		sed -i '$a\127.0.0.1    GEA-8316-DLK' /etc/hosts
                                        		fi
                                        
                                        		cd /mnt/TDengine-server-2.0.10.0
                                        		./install.sh &>/dev/null
                                        		sed -i 's/firstEp/#firstEp/g' /etc/taos/taos.cfg
                                        	
                                        		inspect
                                        		power
                                            ;;
                                        ISG)
                                        	i="0"
                                                while read path
                                                do
                                                    if [ "$path" == "127.0.0.1      localhost" ];
                                                    then
                                                    i="1"
                                                    fi
                                                done < /etc/hosts
                                        
                                                if [ "$i" != "1" ];
                                                then
                                                echo "127.0.0.1      localhost"> /etc/hosts
                                                fi
                                        			
                                        		td
                                        		inspect
                                        		power
                                        	;;
                                        PBox)
                                        	i="0"
                                                while read path
                                                do
                                                    if [ "$path" == "127.0.0.1      imx6ull14x14evk" ];
                                                    then
                                                    i="1"
                                                    fi
                                                done < /etc/hosts
                                        
                                                if [ "$i" != "1" ];
                                                then
                                                echo "127.0.0.1      imx6ull14x14evk"> /etc/hosts
                                                fi
                                        		PB
                                        		inspectPBox
                                        		powerPBox
                                        	;;
                                        PBox16.04)
                                        	pkexec chown root:root /etc/sudoers /etc/sudoers.d -R
                                        	td
                                        	inspect
                                        	power
                                        	sed -i '/source/d' /etc/init.d/rc.local
                                        	sed -i '/source/d' /etc/rc.local
                                        	sed -i '/sleep 1/isource /mnt/run.sh' /etc/rc.local
                                        	;;	
                                        

                                        esac

                                        用python重写

                                        ChatGPTC 离线
                                        ChatGPTC 离线
                                        ChatGPT
                                        写于 最后由 编辑
                                        #9759

                                        for culture 说:

                                        @ChatGPT #!/bin/bash
                                        argv=$1
                                        #deploy=$1
                                        count=0
                                        filename=()
                                        isTar=1
                                        if [ $isTar == "1" ]
                                        then

                                        path=cd $(dirname $0);pwd -P
                                        #echo the current path is:$path
                                        for i in ls
                                        do
                                        filegz="tar.gz"
                                        if [[ $i == $filegz ]]
                                        then
                                        #echo $i
                                        filename[count]=$i
                                        count=expr $count + 1
                                        fi
                                        done

                                        #echo $count
                                        #echo ${filename[@]}
                                        for((n=0;n echo -e "\033[40;35m"$n"\033[0m \033[40;32m"${filename[n]}"\033[0m"
                                        }

                                        if (("$count" then
                                        echo "请下载部署包"
                                        exit
                                        elif (("$count" == "1"));
                                        then
                                        if [ $argv == "PBox" ];
                                        then
                                        tar zxvf ${filename[0]} -C /pbox
                                        else
                                        tar zxvf ${filename[0]} -C /mnt
                                        fi
                                        else
                                        echo -e "\033[40;36m 请选择部署包:\033[0m"
                                        read inNum
                                        if (("$inNum" = "$count"))
                                        then
                                        echo "索引错误"
                                        exit
                                        else
                                        if [ $argv == "PBox" ];
                                        then
                                        tar zxvf ${filename[0]} -C /pbox
                                        else
                                        tar zxvf ${filename[0]} -C /mnt
                                        fi
                                        fi
                                        fi
                                        fi

                                        #echo "解压部署包"
                                        #echo $deploy
                                        #tar -zxvf $deploy
                                        #echo "解压部署包完成"

                                        inspect(){
                                        if [ $argv != "PBox16.04" ];
                                        then
                                        cp -rf /mnt/profile /etc/
                                        fi
                                        if [ ! -d "/mnt/FCloudComm" ]
                                        then
                                        echo "1"
                                        exit
                                        fi
                                        if [ ! -f "/mnt/run.sh" ]
                                        then
                                        echo "2"
                                        exit
                                        fi

                                        if [ ! -f "/usr/lib/libiconv.so.2.6.1" ];
                                        then
                                        cp -rf /mnt/FCloudComm/bin/libiconv.so.2.6.1 /usr/lib/
                                        ln -sf /usr/lib/libiconv.so.2.6.1 /usr/lib/libiconv.so
                                        ln -sf /usr/lib/libiconv.so.2.6.1 /usr/lib/libiconv.so.2
                                        fi

                                        sed -i '/source/d' /etc/init.d/rc.local
                                        sed -i '$a source /mnt/run.sh' /etc/init.d/rc.local

                                        #taosd &>/dev/null
                                        echo "历史数据库安装完成"

                                        }

                                        inspectPBox(){
                                        if [ ! -d "/pbox/FCloudComm" ]
                                        then
                                        echo "1"
                                        exit
                                        fi
                                        if [ ! -f "/pbox/run.sh" ]
                                        then
                                        echo "2"
                                        exit
                                        fi

                                        if [ ! -f "/usr/lib/libiconv.so.2.6.1" ];
                                        then
                                        cp -rf /pbox/FCloudComm/bin/libiconv.so.2.6.1 /usr/lib/
                                        ln -sf /usr/lib/libiconv.so.2.6.1 /usr/lib/libiconv.so
                                        ln -sf /usr/lib/libiconv.so.2.6.1 /usr/lib/libiconv.so.2
                                        fi

                                        #taosd &>/dev/null
                                        echo "历史数据库安装完成"

                                        }

                                        echo "拷贝系统文件"

                                        if [ $argv == "8401d" ];
                                        then
                                        cp -rf ./libstdc++.so.6 /usr/lib/arm-linux-gnueabihf/
                                        cp -rf ./libstdc++.so.6.0.21 /usr/lib/arm-linux-gnueabihf/
                                        fi

                                        if [ $argv == "ISG" ];
                                        then
                                        cp -rf ./libstdc++.so.6.0.21 /usr/lib/arm-linux-gnueabihf/
                                        ln -sf /usr/lib/arm-linux-gnueabihf/libstdc++.so.6.0.21 /usr/lib/arm-linux-gnueabihf/libstdc++.so.6

                                        if [ ! -f "/usr/lib/libatomic.so.1.0.0" ];
                                        then
                                        cp -rf /mnt/FCloudComm/bin/libatomic.so.1.0.0 /usr/lib/
                                        ln -sf /usr/lib/libatomic.so.1.0.0 /usr/lib/libatomic.so.1
                                        ln -sf /usr/lib/libatomic.so.1.0.0 /usr/lib/libatomic.so
                                        fi
                                        fi

                                        echo "拷贝系统文件完成"

                                        echo -e "\033[40;36m 网口选择 单网(1)双网(2) \033[0m"
                                        read input
                                        #echo $input
                                        if [ $input == "1" ];
                                        then
                                        sed -i 's/NetCardCount = "2"/NetCardCount = "1"/g' /mnt/FCloudComm/bin/pSL_Setting.xml
                                        sed -i '/sleep 1/d' /mnt/FCloudComm/tools/IPCfg
                                        sed -i '/ifconfig eth1 192.168.20.101 netmask 255.255.255.0 up/d' /mnt/FCloudComm/tools/IPCfg
                                        sed -i '/route add default gw 192.168.20.1 dev eth1/d' /mnt/FCloudComm/tools/IPCfg
                                        fi
                                        echo "网口配置完成"

                                        #4G函数
                                        echo -e "\033[40;36m 是否支持4G? 否(0)是(1) \033[0m"

                                        read -p "" number
                                        if [ $number -eq 0 ];
                                        then
                                        if [ $argv == "8401d" ];
                                        then
                                        sed -i '/active4g.sh/d' /mnt/run.sh
                                        fi

                                        if [ $argv == "PBox" ];
                                        then
                                        sed -i '/quectel-pppd.sh/d' /pbox/run.sh
                                        fi

                                        if [ $argv == "PBox16.04" ];
                                        then
                                        sed -i '/quectel-pppd.sh/d' /mnt/run.sh
                                        fi
                                        fi

                                        if [ $number -eq 1 ];
                                        then
                                        if [ $argv == "8401d" ];
                                        then
                                        sed -i '/active4g.sh/d' /mnt/run.sh
                                        sed -i '/sleep 10/i\sh ./active4g.sh &' /mnt/run.sh
                                        fi

                                        if [ $argv == "PBox" ];
                                        then
                                        sed -i '/quectel-pppd.sh/d' /pbox/run.sh
                                        sed -i '/sleep 10/i\sh ./quectel-pppd.sh &' /pbox/run.sh
                                        fi

                                        if [ $argv == "PBox16.04" ];
                                        then
                                        sed -i '/quectel-pppd.sh/d' /mnt/run.sh
                                        sed -i '/sleep 10/i\sh ./quectel-pppd.sh &' /mnt/run.sh
                                        fi
                                        fi

                                        if [ $number -ne 1 ] && [ $number -ne 0 ];
                                        then
                                        echo "输入错误"
                                        fi

                                        echo "配置开机启动"
                                        if [ $argv == "8401d" ];
                                        then
                                        sed -i '1c #! /bin/bash' /etc/init.d/rc.local
                                        fi

                                        if [ $argv == "PBox16.04" ];
                                        then
                                        sed -i '1c #! /bin/bash' /etc/rc.local
                                        fi

                                        if [ $argv == "ISG" ];
                                        then
                                        sed -i '1c #! /bin/bash' /etc/init.d/rocktech.sh
                                        sed -i '/source/d' /etc/init.d/rocktech.sh
                                        sed -i '$a source /mnt/run.sh' /etc/init.d/rocktech.sh
                                        sed -i '/source/d' /etc/init.d/rc.local
                                        sed -i "114s:#::g" /etc/init.d/rocktech.sh
                                        fi

                                        echo "配置开机启动完成"

                                        echo "初始化本地ip地址"
                                        sed -i 's/address 190.5.20.171/address 192.168.10.101/g' /etc/network/interfaces
                                        sed -i 's/gateway 190.5.200.11/gateway 192.168.10.1/g' /etc/network/interfaces
                                        sed -i 's/address 192.168.1.100/address 192.168.20.101/g' /etc/network/interfaces
                                        sed -i 's/gateway 192.168.1.1/gateway 192.168.20.1/g' /etc/network/interfaces
                                        echo "初始化本地ip地址结束"

                                        echo "配置历史数据库"

                                        #td库ISG网关配置
                                        td(){
                                        cd /mnt/TDengine-server-2.0.10.0/
                                        ./install.sh &>/dev/null
                                        sed -i 's/firstEp/#firstEp/g' /etc/taos/taos.cfg
                                        sed -i 's/# fqdn/fqdn/g' /etc/taos/taos.cfg
                                        sed -i 's/hostname/localhost/g' /etc/taos/taos.cfg
                                        }

                                        #PBox网关配置
                                        PB(){
                                        if [ ! -f "/usr/lib/libatomic.so.1.0.0" ];
                                        then
                                        cp -rf /pbox/FCloudComm/bin/libatomic.so.1.0.0 /usr/lib/
                                        ln -sf /usr/lib/libatomic.so.1.0.0 /usr/lib/libatomic.so.1
                                        ln -sf /usr/lib/libatomic.so.1.0.0 /usr/lib/libatomic.so
                                        fi

                                        sed -i '1c #! /bin/bash' /etc/init.d/rc.local
                                        cd /pbox/TDengine-server-2.0.10.0
                                        ./install.sh &>/dev/null
                                        sed -i 's/firstEp/#firstEp/g' /etc/taos/taos.cfg
                                        sed -i 's/# logDir/ logDir/g' /etc/taos/taos.cfg
                                        sed -i 's/# dataDir/ dataDir/g' /etc/taos/taos.cfg
                                        sed -i 's#/var/log/taos#/pbox/log#g' /etc/taos/taos.cfg
                                        sed -i 's#/var/lib/taos#/pbox/lib#g' /etc/taos/taos.cfg

                                        sed -i '/run.sh/d' /etc/rc5.d/S99rmnologin.sh
                                        sed -i '$a source /pbox/run.sh' /etc/rc5.d/S99rmnologin.sh
                                        }

                                        power(){
                                        source /mnt/FCloudComm/tools/setEnv.sh
                                        if [ -d "/mnt/config" ];then
                                        #echo "文件夹存在"

                                        if [ -f "/mnt/config/hardwareinfo.HID" ];then
                                        #echo "文件存在"
                                        cp -rf /mnt/config/hardwareinfo.HID /mnt/FCloudComm
                                        else
                                        #echo "文件不存在"
                                        echo "配置完成 请放入HID 和 授权文件"
                                        /mnt/FCloudComm/bin/getID
                                        fi

                                        if [ -f "/mnt/config/"".lic" ];then
                                        #echo "文件存在"
                                        cp -rf /mnt/config/
                                        .lic /mnt/FCloudComm/bin
                                        else
                                        #echo "文件不存在"
                                        echo "配置完成 请放入HID 和 授权文件"
                                        /mnt/FCloudComm/bin/getID
                                        fi

                                        else
                                        #echo "文件夹不存在"
                                        echo "配置完成 请放入HID 和 授权文件"
                                        /mnt/FCloudComm/bin/getID
                                        fi
                                        #echo "配置完成 请放入HID 和 授权文件"
                                        #/mnt/FCloudComm/bin/getID
                                        }

                                        powerPBox(){
                                        source /pbox/FCloudComm/tools/setEnv.sh
                                        if [ -d "/pbox/config" ];then
                                        #echo "文件夹存在"

                                        if [ -f "/pbox/config/hardwareinfo.HID" ];then
                                        #echo "文件存在"
                                        cp -rf /pbox/config/hardwareinfo.HID /pbox/FCloudComm
                                        else
                                        #echo "文件不存在"
                                        echo "配置完成 请放入HID 和 授权文件"
                                        /pbox/FCloudComm/bin/getID
                                        fi

                                        if [ -f "/pbox/config/"".lic" ];then
                                        #echo "文件存在"
                                        cp -rf /pbox/config/
                                        .lic /pbox/FCloudComm/bin
                                        else
                                        #echo "文件不存在"
                                        echo "配置完成 请放入HID 和 授权文件"
                                        /pbox/FCloudComm/bin/getID
                                        fi

                                        else
                                        #echo "文件夹不存在"
                                        echo "配置完成 请放入HID 和 授权文件"
                                        /pbox/FCloudComm/bin/getID
                                        fi
                                        #echo "配置完成 请放入HID 和 授权文件"
                                        #/pbox/FCloudComm/bin/getID
                                        }

                                        case "$1" in
                                        8401d)
                                        cd /mnt/TDengine-server-2.0.10.0
                                        ./install.sh &>/dev/null
                                        sed -i 's#/third/log#log#g' /etc/taos/taos.cfg
                                        sed -i 's#/third/data#data#g' /etc/taos/taos.cfg
                                        sed -i 's/firstEp/#firstEp/g' /etc/taos/taos.cfg
                                        inspect
                                        power
                                        ;;
                                        8316)
                                        i="0"
                                        while read path
                                        do
                                        if [ "$path" == "127.0.0.1 GEA-8316-DLK" ];
                                        then
                                        i="1"
                                        fi
                                        done
                                        if [ "$i" != "1" ];
                                        then
                                        sed -i '$a\127.0.0.1 GEA-8316-DLK' /etc/hosts
                                        fi

                                          	cd /mnt/TDengine-server-2.0.10.0
                                          	./install.sh &>/dev/null
                                          	sed -i 's/firstEp/#firstEp/g' /etc/taos/taos.cfg
                                          
                                          	inspect
                                          	power
                                            ;;
                                        

                                        ISG)
                                        i="0"
                                        while read path
                                        do
                                        if [ "$path" == "127.0.0.1 localhost" ];
                                        then
                                        i="1"
                                        fi
                                        done
                                        if [ "$i" != "1" ];
                                        then
                                        echo "127.0.0.1 localhost"> /etc/hosts
                                        fi

                                          	td
                                          	inspect
                                          	power
                                          ;;
                                        

                                        PBox)
                                        i="0"
                                        while read path
                                        do
                                        if [ "$path" == "127.0.0.1 imx6ull14x14evk" ];
                                        then
                                        i="1"
                                        fi
                                        done
                                        if [ "$i" != "1" ];
                                        then
                                        echo "127.0.0.1 imx6ull14x14evk"> /etc/hosts
                                        fi
                                        PB
                                        inspectPBox
                                        powerPBox
                                        ;;
                                        PBox16.04)
                                        pkexec chown root:root /etc/sudoers /etc/sudoers.d -R
                                        td
                                        inspect
                                        power
                                        sed -i '/source/d' /etc/init.d/rc.local
                                        sed -i '/source/d' /etc/rc.local
                                        sed -i '/sleep 1/isource /mnt/run.sh' /etc/rc.local
                                        ;;
                                        esac

                                        用python重写

                                        把原先的bash脚本用Python来实现,具体如下:

                                        #!/usr/bin/env python3
                                        
                                        import os
                                        import sys
                                        
                                        def deploy_package(argv):
                                            count = 0
                                            filename = []
                                            is_tar = 1
                                            path = os.path.abspath(os.path.dirname(__file__))
                                        
                                            for file in os.listdir(path):
                                                if is_tar and file.endswith(".tar.gz"):
                                                    filename.append(file)
                                                    count += 1
                                        
                                            if count = count:
                                                    print("索引错误")
                                                    sys.exit()
                                                else:
                                                    tar_path = "/pbox" if argv == "PBox" else "/mnt"
                                                    os.system(f"tar zxvf {filename[inNum]} -C {tar_path}")
                                        
                                        def system_init(argv):
                                            if argv != "PBox16.04":
                                                os.system("cp -rf /mnt/profile /etc/")
                                            if not os.path.isdir("/mnt/FCloudComm"):
                                                print("1")
                                                sys.exit()
                                            if not os.path.isfile("/mnt/run.sh"):
                                                print("2")
                                                sys.exit()
                                        
                                            if not os.path.isfile("/usr/lib/libiconv.so.2.6.1"):
                                                os.system("cp -rf /mnt/FCloudComm/bin/libiconv.so.2.6.1 /usr/lib/")
                                                os.system("ln -sf /usr/lib/libiconv.so.2.6.1 /usr/lib/libiconv.so")
                                                os.system("ln -sf /usr/lib/libiconv.so.2.6.1 /usr/lib/libiconv.so.2")
                                        
                                            with open("/etc/init.d/rc.local", "r+") as f:
                                                lines = f.readlines()
                                                f.seek(0)
                                                for l in lines:
                                                    if "source" not in l:
                                                        f.write(l)
                                                f.write("source /mnt/run.sh\n")
                                        
                                            print("历史数据库安装完成")
                                        
                                        
                                        def system_init_pbox():
                                            if not os.path.isdir("/pbox/FCloudComm"):
                                                print("1")
                                                sys.exit()
                                            if not os.path.isfile("/pbox/run.sh"):
                                                print("2")
                                                sys.exit()
                                        
                                            if not os.path.isfile("/usr/lib/libatomic.so.1.0.

                                        帖子内容中 @ChatGPT(注意前后空格,发帖后名称变色才行)。必须@才会回答

                                        F 2 条回复 最后回复
                                        0
                                        • ChatGPTC ChatGPT

                                          for culture 说:

                                          @ChatGPT #!/bin/bash
                                          argv=$1
                                          #deploy=$1
                                          count=0
                                          filename=()
                                          isTar=1
                                          if [ $isTar == "1" ]
                                          then

                                          path=cd $(dirname $0);pwd -P
                                          #echo the current path is:$path
                                          for i in ls
                                          do
                                          filegz="tar.gz"
                                          if [[ $i == $filegz ]]
                                          then
                                          #echo $i
                                          filename[count]=$i
                                          count=expr $count + 1
                                          fi
                                          done

                                          #echo $count
                                          #echo ${filename[@]}
                                          for((n=0;n echo -e "\033[40;35m"$n"\033[0m \033[40;32m"${filename[n]}"\033[0m"
                                          }

                                          if (("$count" then
                                          echo "请下载部署包"
                                          exit
                                          elif (("$count" == "1"));
                                          then
                                          if [ $argv == "PBox" ];
                                          then
                                          tar zxvf ${filename[0]} -C /pbox
                                          else
                                          tar zxvf ${filename[0]} -C /mnt
                                          fi
                                          else
                                          echo -e "\033[40;36m 请选择部署包:\033[0m"
                                          read inNum
                                          if (("$inNum" = "$count"))
                                          then
                                          echo "索引错误"
                                          exit
                                          else
                                          if [ $argv == "PBox" ];
                                          then
                                          tar zxvf ${filename[0]} -C /pbox
                                          else
                                          tar zxvf ${filename[0]} -C /mnt
                                          fi
                                          fi
                                          fi
                                          fi

                                          #echo "解压部署包"
                                          #echo $deploy
                                          #tar -zxvf $deploy
                                          #echo "解压部署包完成"

                                          inspect(){
                                          if [ $argv != "PBox16.04" ];
                                          then
                                          cp -rf /mnt/profile /etc/
                                          fi
                                          if [ ! -d "/mnt/FCloudComm" ]
                                          then
                                          echo "1"
                                          exit
                                          fi
                                          if [ ! -f "/mnt/run.sh" ]
                                          then
                                          echo "2"
                                          exit
                                          fi

                                          if [ ! -f "/usr/lib/libiconv.so.2.6.1" ];
                                          then
                                          cp -rf /mnt/FCloudComm/bin/libiconv.so.2.6.1 /usr/lib/
                                          ln -sf /usr/lib/libiconv.so.2.6.1 /usr/lib/libiconv.so
                                          ln -sf /usr/lib/libiconv.so.2.6.1 /usr/lib/libiconv.so.2
                                          fi

                                          sed -i '/source/d' /etc/init.d/rc.local
                                          sed -i '$a source /mnt/run.sh' /etc/init.d/rc.local

                                          #taosd &>/dev/null
                                          echo "历史数据库安装完成"

                                          }

                                          inspectPBox(){
                                          if [ ! -d "/pbox/FCloudComm" ]
                                          then
                                          echo "1"
                                          exit
                                          fi
                                          if [ ! -f "/pbox/run.sh" ]
                                          then
                                          echo "2"
                                          exit
                                          fi

                                          if [ ! -f "/usr/lib/libiconv.so.2.6.1" ];
                                          then
                                          cp -rf /pbox/FCloudComm/bin/libiconv.so.2.6.1 /usr/lib/
                                          ln -sf /usr/lib/libiconv.so.2.6.1 /usr/lib/libiconv.so
                                          ln -sf /usr/lib/libiconv.so.2.6.1 /usr/lib/libiconv.so.2
                                          fi

                                          #taosd &>/dev/null
                                          echo "历史数据库安装完成"

                                          }

                                          echo "拷贝系统文件"

                                          if [ $argv == "8401d" ];
                                          then
                                          cp -rf ./libstdc++.so.6 /usr/lib/arm-linux-gnueabihf/
                                          cp -rf ./libstdc++.so.6.0.21 /usr/lib/arm-linux-gnueabihf/
                                          fi

                                          if [ $argv == "ISG" ];
                                          then
                                          cp -rf ./libstdc++.so.6.0.21 /usr/lib/arm-linux-gnueabihf/
                                          ln -sf /usr/lib/arm-linux-gnueabihf/libstdc++.so.6.0.21 /usr/lib/arm-linux-gnueabihf/libstdc++.so.6

                                          if [ ! -f "/usr/lib/libatomic.so.1.0.0" ];
                                          then
                                          cp -rf /mnt/FCloudComm/bin/libatomic.so.1.0.0 /usr/lib/
                                          ln -sf /usr/lib/libatomic.so.1.0.0 /usr/lib/libatomic.so.1
                                          ln -sf /usr/lib/libatomic.so.1.0.0 /usr/lib/libatomic.so
                                          fi
                                          fi

                                          echo "拷贝系统文件完成"

                                          echo -e "\033[40;36m 网口选择 单网(1)双网(2) \033[0m"
                                          read input
                                          #echo $input
                                          if [ $input == "1" ];
                                          then
                                          sed -i 's/NetCardCount = "2"/NetCardCount = "1"/g' /mnt/FCloudComm/bin/pSL_Setting.xml
                                          sed -i '/sleep 1/d' /mnt/FCloudComm/tools/IPCfg
                                          sed -i '/ifconfig eth1 192.168.20.101 netmask 255.255.255.0 up/d' /mnt/FCloudComm/tools/IPCfg
                                          sed -i '/route add default gw 192.168.20.1 dev eth1/d' /mnt/FCloudComm/tools/IPCfg
                                          fi
                                          echo "网口配置完成"

                                          #4G函数
                                          echo -e "\033[40;36m 是否支持4G? 否(0)是(1) \033[0m"

                                          read -p "" number
                                          if [ $number -eq 0 ];
                                          then
                                          if [ $argv == "8401d" ];
                                          then
                                          sed -i '/active4g.sh/d' /mnt/run.sh
                                          fi

                                          if [ $argv == "PBox" ];
                                          then
                                          sed -i '/quectel-pppd.sh/d' /pbox/run.sh
                                          fi

                                          if [ $argv == "PBox16.04" ];
                                          then
                                          sed -i '/quectel-pppd.sh/d' /mnt/run.sh
                                          fi
                                          fi

                                          if [ $number -eq 1 ];
                                          then
                                          if [ $argv == "8401d" ];
                                          then
                                          sed -i '/active4g.sh/d' /mnt/run.sh
                                          sed -i '/sleep 10/i\sh ./active4g.sh &' /mnt/run.sh
                                          fi

                                          if [ $argv == "PBox" ];
                                          then
                                          sed -i '/quectel-pppd.sh/d' /pbox/run.sh
                                          sed -i '/sleep 10/i\sh ./quectel-pppd.sh &' /pbox/run.sh
                                          fi

                                          if [ $argv == "PBox16.04" ];
                                          then
                                          sed -i '/quectel-pppd.sh/d' /mnt/run.sh
                                          sed -i '/sleep 10/i\sh ./quectel-pppd.sh &' /mnt/run.sh
                                          fi
                                          fi

                                          if [ $number -ne 1 ] && [ $number -ne 0 ];
                                          then
                                          echo "输入错误"
                                          fi

                                          echo "配置开机启动"
                                          if [ $argv == "8401d" ];
                                          then
                                          sed -i '1c #! /bin/bash' /etc/init.d/rc.local
                                          fi

                                          if [ $argv == "PBox16.04" ];
                                          then
                                          sed -i '1c #! /bin/bash' /etc/rc.local
                                          fi

                                          if [ $argv == "ISG" ];
                                          then
                                          sed -i '1c #! /bin/bash' /etc/init.d/rocktech.sh
                                          sed -i '/source/d' /etc/init.d/rocktech.sh
                                          sed -i '$a source /mnt/run.sh' /etc/init.d/rocktech.sh
                                          sed -i '/source/d' /etc/init.d/rc.local
                                          sed -i "114s:#::g" /etc/init.d/rocktech.sh
                                          fi

                                          echo "配置开机启动完成"

                                          echo "初始化本地ip地址"
                                          sed -i 's/address 190.5.20.171/address 192.168.10.101/g' /etc/network/interfaces
                                          sed -i 's/gateway 190.5.200.11/gateway 192.168.10.1/g' /etc/network/interfaces
                                          sed -i 's/address 192.168.1.100/address 192.168.20.101/g' /etc/network/interfaces
                                          sed -i 's/gateway 192.168.1.1/gateway 192.168.20.1/g' /etc/network/interfaces
                                          echo "初始化本地ip地址结束"

                                          echo "配置历史数据库"

                                          #td库ISG网关配置
                                          td(){
                                          cd /mnt/TDengine-server-2.0.10.0/
                                          ./install.sh &>/dev/null
                                          sed -i 's/firstEp/#firstEp/g' /etc/taos/taos.cfg
                                          sed -i 's/# fqdn/fqdn/g' /etc/taos/taos.cfg
                                          sed -i 's/hostname/localhost/g' /etc/taos/taos.cfg
                                          }

                                          #PBox网关配置
                                          PB(){
                                          if [ ! -f "/usr/lib/libatomic.so.1.0.0" ];
                                          then
                                          cp -rf /pbox/FCloudComm/bin/libatomic.so.1.0.0 /usr/lib/
                                          ln -sf /usr/lib/libatomic.so.1.0.0 /usr/lib/libatomic.so.1
                                          ln -sf /usr/lib/libatomic.so.1.0.0 /usr/lib/libatomic.so
                                          fi

                                          sed -i '1c #! /bin/bash' /etc/init.d/rc.local
                                          cd /pbox/TDengine-server-2.0.10.0
                                          ./install.sh &>/dev/null
                                          sed -i 's/firstEp/#firstEp/g' /etc/taos/taos.cfg
                                          sed -i 's/# logDir/ logDir/g' /etc/taos/taos.cfg
                                          sed -i 's/# dataDir/ dataDir/g' /etc/taos/taos.cfg
                                          sed -i 's#/var/log/taos#/pbox/log#g' /etc/taos/taos.cfg
                                          sed -i 's#/var/lib/taos#/pbox/lib#g' /etc/taos/taos.cfg

                                          sed -i '/run.sh/d' /etc/rc5.d/S99rmnologin.sh
                                          sed -i '$a source /pbox/run.sh' /etc/rc5.d/S99rmnologin.sh
                                          }

                                          power(){
                                          source /mnt/FCloudComm/tools/setEnv.sh
                                          if [ -d "/mnt/config" ];then
                                          #echo "文件夹存在"

                                          if [ -f "/mnt/config/hardwareinfo.HID" ];then
                                          #echo "文件存在"
                                          cp -rf /mnt/config/hardwareinfo.HID /mnt/FCloudComm
                                          else
                                          #echo "文件不存在"
                                          echo "配置完成 请放入HID 和 授权文件"
                                          /mnt/FCloudComm/bin/getID
                                          fi

                                          if [ -f "/mnt/config/"".lic" ];then
                                          #echo "文件存在"
                                          cp -rf /mnt/config/
                                          .lic /mnt/FCloudComm/bin
                                          else
                                          #echo "文件不存在"
                                          echo "配置完成 请放入HID 和 授权文件"
                                          /mnt/FCloudComm/bin/getID
                                          fi

                                          else
                                          #echo "文件夹不存在"
                                          echo "配置完成 请放入HID 和 授权文件"
                                          /mnt/FCloudComm/bin/getID
                                          fi
                                          #echo "配置完成 请放入HID 和 授权文件"
                                          #/mnt/FCloudComm/bin/getID
                                          }

                                          powerPBox(){
                                          source /pbox/FCloudComm/tools/setEnv.sh
                                          if [ -d "/pbox/config" ];then
                                          #echo "文件夹存在"

                                          if [ -f "/pbox/config/hardwareinfo.HID" ];then
                                          #echo "文件存在"
                                          cp -rf /pbox/config/hardwareinfo.HID /pbox/FCloudComm
                                          else
                                          #echo "文件不存在"
                                          echo "配置完成 请放入HID 和 授权文件"
                                          /pbox/FCloudComm/bin/getID
                                          fi

                                          if [ -f "/pbox/config/"".lic" ];then
                                          #echo "文件存在"
                                          cp -rf /pbox/config/
                                          .lic /pbox/FCloudComm/bin
                                          else
                                          #echo "文件不存在"
                                          echo "配置完成 请放入HID 和 授权文件"
                                          /pbox/FCloudComm/bin/getID
                                          fi

                                          else
                                          #echo "文件夹不存在"
                                          echo "配置完成 请放入HID 和 授权文件"
                                          /pbox/FCloudComm/bin/getID
                                          fi
                                          #echo "配置完成 请放入HID 和 授权文件"
                                          #/pbox/FCloudComm/bin/getID
                                          }

                                          case "$1" in
                                          8401d)
                                          cd /mnt/TDengine-server-2.0.10.0
                                          ./install.sh &>/dev/null
                                          sed -i 's#/third/log#log#g' /etc/taos/taos.cfg
                                          sed -i 's#/third/data#data#g' /etc/taos/taos.cfg
                                          sed -i 's/firstEp/#firstEp/g' /etc/taos/taos.cfg
                                          inspect
                                          power
                                          ;;
                                          8316)
                                          i="0"
                                          while read path
                                          do
                                          if [ "$path" == "127.0.0.1 GEA-8316-DLK" ];
                                          then
                                          i="1"
                                          fi
                                          done
                                          if [ "$i" != "1" ];
                                          then
                                          sed -i '$a\127.0.0.1 GEA-8316-DLK' /etc/hosts
                                          fi

                                            	cd /mnt/TDengine-server-2.0.10.0
                                            	./install.sh &>/dev/null
                                            	sed -i 's/firstEp/#firstEp/g' /etc/taos/taos.cfg
                                            
                                            	inspect
                                            	power
                                              ;;
                                          

                                          ISG)
                                          i="0"
                                          while read path
                                          do
                                          if [ "$path" == "127.0.0.1 localhost" ];
                                          then
                                          i="1"
                                          fi
                                          done
                                          if [ "$i" != "1" ];
                                          then
                                          echo "127.0.0.1 localhost"> /etc/hosts
                                          fi

                                            	td
                                            	inspect
                                            	power
                                            ;;
                                          

                                          PBox)
                                          i="0"
                                          while read path
                                          do
                                          if [ "$path" == "127.0.0.1 imx6ull14x14evk" ];
                                          then
                                          i="1"
                                          fi
                                          done
                                          if [ "$i" != "1" ];
                                          then
                                          echo "127.0.0.1 imx6ull14x14evk"> /etc/hosts
                                          fi
                                          PB
                                          inspectPBox
                                          powerPBox
                                          ;;
                                          PBox16.04)
                                          pkexec chown root:root /etc/sudoers /etc/sudoers.d -R
                                          td
                                          inspect
                                          power
                                          sed -i '/source/d' /etc/init.d/rc.local
                                          sed -i '/source/d' /etc/rc.local
                                          sed -i '/sleep 1/isource /mnt/run.sh' /etc/rc.local
                                          ;;
                                          esac

                                          用python重写

                                          把原先的bash脚本用Python来实现,具体如下:

                                          #!/usr/bin/env python3
                                          
                                          import os
                                          import sys
                                          
                                          def deploy_package(argv):
                                              count = 0
                                              filename = []
                                              is_tar = 1
                                              path = os.path.abspath(os.path.dirname(__file__))
                                          
                                              for file in os.listdir(path):
                                                  if is_tar and file.endswith(".tar.gz"):
                                                      filename.append(file)
                                                      count += 1
                                          
                                              if count = count:
                                                      print("索引错误")
                                                      sys.exit()
                                                  else:
                                                      tar_path = "/pbox" if argv == "PBox" else "/mnt"
                                                      os.system(f"tar zxvf {filename[inNum]} -C {tar_path}")
                                          
                                          def system_init(argv):
                                              if argv != "PBox16.04":
                                                  os.system("cp -rf /mnt/profile /etc/")
                                              if not os.path.isdir("/mnt/FCloudComm"):
                                                  print("1")
                                                  sys.exit()
                                              if not os.path.isfile("/mnt/run.sh"):
                                                  print("2")
                                                  sys.exit()
                                          
                                              if not os.path.isfile("/usr/lib/libiconv.so.2.6.1"):
                                                  os.system("cp -rf /mnt/FCloudComm/bin/libiconv.so.2.6.1 /usr/lib/")
                                                  os.system("ln -sf /usr/lib/libiconv.so.2.6.1 /usr/lib/libiconv.so")
                                                  os.system("ln -sf /usr/lib/libiconv.so.2.6.1 /usr/lib/libiconv.so.2")
                                          
                                              with open("/etc/init.d/rc.local", "r+") as f:
                                                  lines = f.readlines()
                                                  f.seek(0)
                                                  for l in lines:
                                                      if "source" not in l:
                                                          f.write(l)
                                                  f.write("source /mnt/run.sh\n")
                                          
                                              print("历史数据库安装完成")
                                          
                                          
                                          def system_init_pbox():
                                              if not os.path.isdir("/pbox/FCloudComm"):
                                                  print("1")
                                                  sys.exit()
                                              if not os.path.isfile("/pbox/run.sh"):
                                                  print("2")
                                                  sys.exit()
                                          
                                              if not os.path.isfile("/usr/lib/libatomic.so.1.0.
                                          F 离线
                                          F 离线
                                          for culture
                                          🍌
                                          写于 最后由 编辑
                                          #9760

                                          @ChatGPT 继续

                                          ChatGPTC 1 条回复 最后回复
                                          0
                                          回复
                                          • 在新帖中回复
                                          登录后回复
                                          • 从旧到新
                                          • 从新到旧
                                          • 最多赞同


                                          • 1
                                          • 2
                                          • 486
                                          • 487
                                          • 488
                                          • 489
                                          • 490
                                          • 576
                                          • 577
                                          Popular Topics - 热门主题
                                          • Bug! Bug !Google One 学生优惠 可无门槛验证
                                            mztcM
                                            mztc
                                            3
                                            14
                                            5.0k

                                          • 中国科技云免费白嫖1 年 Cursor 使用权!快~~~
                                            D
                                            d914954480
                                            1
                                            7
                                            1.9k

                                          • MySQL 8.0 OCP 限时免费考
                                            HebutMrLiuH
                                            HebutMrLiu
                                            1
                                            5
                                            311

                                          • 免费科技代理流量巨多
                                            孤
                                            孤傲的王
                                            1
                                            4
                                            96

                                          • 阿里云国际站轻量应用服务器 2C+1G+200M带宽 仅9.9美元一年!
                                            T
                                            Test
                                            1
                                            4
                                            1.2k

                                          • <海外剧>行尸走肉:死城 第二季[2025][惊悚 恐怖 冒险][附行尸走肉 系列全部]
                                            我是小马甲~M
                                            我是小马甲~
                                            1
                                            3
                                            23

                                          • 登录

                                          • 没有帐号? 注册

                                          • 登录或注册以进行搜索。
                                          百度网盘
                                          1,175 个主题
                                          连续剧
                                          698 个主题
                                          国产剧
                                          564 个主题
                                          美剧
                                          338 个主题
                                          中国移动
                                          307 个主题
                                          动画片
                                          231 个主题
                                          中国电信
                                          222 个主题
                                          动作片
                                          206 个主题

                                          136

                                          在线

                                          39.9k

                                          用户

                                          40.1k

                                          主题

                                          110.4k

                                          帖子
                                          • 第一个帖子
                                            最后一个帖子