当前位置: 首页 > news >正文

电子商务网站主要面向房地产开发公司注册条件

电子商务网站主要面向,房地产开发公司注册条件,公司企业网站程序,青海集团网站建设【QT 5 调试软件Linux下调用脚本shell-无法调度目录拼写无法找目录sudo权限(2)问题解决方式后续补充】 1、前言2、问题综述:自研qt上位机无法调度脚本(1)可能原因1:无法找到目录情况说明:解决思…

【QT 5 调试软件+Linux下调用脚本shell-无法调度+目录拼写+无法找目录+sudo权限(2)+问题解决方式+后续补充】

  • 1、前言
  • 2、问题综述:自研qt上位机无法调度脚本
    • (1)可能原因1:无法找到目录
      • 情况说明:
      • 解决思路:
    • (2)可能原因2:目录名拼写错误
      • 情况说明:
      • 解决思路:
    • (3)可能原因3:带有sudo权限解决方式
      • 情况说明:
      • 解决思路:
    • (4)可能原因4:中文路径 & 双桌面路径
      • 情况说明:
  • 3、其他补充
    • (1)给目标文件可执行权限
    • (2)win下,缺少dll文件问题
  • 4、总结

1、前言

在Linux下,当我们调用脚本文件的时候,会经常遇到无法调度情况,因为是我们自己使用qt编写的代码调度,可能相关错误防范机制并不完全,明明之前可以调度到了脚本,换个机子或者其他情况就不行了,本篇做个几个总结。

2、问题综述:自研qt上位机无法调度脚本

我们用前一篇作为样例,如下,我们做了一个简单样例,

【QT 5 调试软件+Linux下调用脚本shell-经验总结+初步调试+基础样例】

来调度Linux桌面下的一个脚本。

这只是一个简单样例,但是我们实际使用更为复杂,可能有以下几种情况,我们来一一来说明。

(1)可能原因1:无法找到目录

情况说明:

常见第一种情况,就是无法找到目录,也就是目标脚本所在目录,其实也分两种情况:

  • 第一种是我只有一个软件,那么当你开启软件时,软件所在目录,就是一个被软件识别到了目录。

  • 第二种情况时,我存在多个软件,比如一个软件调用另一个软件,这是需要注意的是,目录其实是以第一个软件为当前目录,如果第二个被调用的软件在获取当前目录,可能获取的是第一个目录的,而不是的第二个软件所在目录。

解决思路:

  • 第一种解决思路就是,使用绝对路径,虽然有些笨,但是可以使用检测绝对路径存不存的方式,来确保自己调用软件没有问题,都是写死的目录,直接调用也比较方便,就是不灵活。
  • 第二种解决思路就是,使用灵活目录,每次软件从哪里打开,然后去找相关关联方式的目录,这样虽然比较灵活,但是跳来跳去容易把自己绕蒙。

在代码上,qt有很多相关库,可以帮助我们找到当前目录,直接获取。
如下是获取Linux home和用户名的目录,你可以在后面加入自己想要目录
或者
当然你也可以获取到桌面上

ps:需要引入库
QString path = QDir::homePath()+"/xxx";
QString path = QDir::homePath()+"/Desktop/xxx";

另外还有通过文件相关功能函数,找到自己目标的目录文件。
或则
直接获取自己软件当前目录,将需要的文件,放在同一个软件目录下,也是一种方式。

QString path =QDir::currentPath()+"/xxx";

(2)可能原因2:目录名拼写错误

情况说明:

自己在实际操作过程中,也比较容易出现拼写错误的情况,尤其是Linux下,频繁使用终端敲写,非常容易多个字母,少个字母,字母敲错了,董事有个可能,这个时候,软件可能就没有反馈,或者没有任何反应。

解决思路:

虽然说程序员不建议使用 == ctrl + C 和 ctrl + V==,但是在这样情况下,建议还是使用,目录短还好说,长了真的很难不错,所有目录名的地方,先用pwd获取目标目录,然后直接复制。

pwd

(3)可能原因3:带有sudo权限解决方式

情况说明:

另外如果经常使用qt的同学,可能就会遇到,我们平时在终端也是敲写命令时,会带有 sudo命令情况。

sudo xxx

但是qt软件本身一般运行中,调用sudo其实是不合理的,为此,调用某个脚本,脚本需要sudo权限如何做呢

解决思路:

这个时候,其中一种思路,是在以下文件加入一段命令,让运行的脚本免除使用sudo,直接可以调度。

sudo visudo

如下,大致是这样的一个文件,在这里填写对于脚本,让其免除sudo
在这里插入图片描述
具体内容如下,其中“xxx”前面部分填写字节用户名,后面是具体目录位置的文件

xxx  ALL=(ALL) NOPASSWD: /opt/xxx.sh

注意点,一定要填写在最后~~!
注意点,一定要填写在最后~~!
注意点,一定要填写在最后~~!

因为在实际过程中,发现有次写在中间了,结果,qt就是调不动脚本。

(4)可能原因4:中文路径 & 双桌面路径

情况说明:

在实际应用过程中,发现自己编写的软件始终无法找到脚本,这种有时候可能也是因为中文路径或者双桌面路径,即一种是 如下路径

~/Desktop/xxx/...

另一种是

~/桌面/xxx/...

的路径,注意区别了么,桌面是“中文”,Linux是不会像win下自动转换的,就是中文的桌面,这样软件也是找不到,并且以上两个都同时存在,很容易让人搞混

3、其他补充

(1)给目标文件可执行权限

在适应运用过程中,也遇到qt无法调度脚本情况,需要给目标文件运行权限一般是在对应目录下如输入如下内容,直接给目标目录内所有文件全部777权限。

sudo chmod 777 -R *

(2)win下,缺少dll文件问题

在win环境下,经常出现的不是找不到目录,而是在使用qt的时候,报缺少dll文件。

一般解决思路,就是用因特尔提供的工具,更新下库。
具体请参考:
【qt5生成软件-can卡-上位机-无法加载ControlCAN.dll&错误代码(0xc0150002)等相关问题-WIN11系统-尝试解决】

4、总结

问题简单整理

http://www.yayakq.cn/news/371347/

相关文章:

  • 网站开发项目付款方式千岛湖网站建设
  • 深圳做网站网络公司有哪些国外做名片网站
  • com网站怎么注册WordPress文章格式美化
  • 网站快速推广排名技巧重庆网站seo方法
  • 做网站的叫什么职位零基础学pytho 网站开发
  • 网站内链分析sinaapp wordpress 固定链接
  • 商城网站建设策划方案网络营销的特点和作用
  • 凡科网站建设之后怎么删除宽屏网站
  • 上海专业网站建站品牌上海网站建设做物流一
  • 网站建站分辨率东莞做网页
  • 网站展示程序视频制作表情包
  • 做营销网站建设价格广东省自然资源厅事务中心
  • 闲鱼网站建设费用聚宝汇 网站建设
  • 做智能网站系统下载地址有没有做任务的网站
  • 石家庄免费自助建站模板如何看网站的流量
  • 微网站开发素材wordpress 社交插件
  • 想买手表在哪个网站买是正品专做机酒的网站
  • 嘉兴本地推广网站企业类展厅设计公司
  • 网站权重值在较长时间内是一定的页面优化网站宣传虚假处罚标准
  • 西部数码网站管理助手 mysqlwordpress文章缩略
  • 网站开发 chrome gimp做照片视频的网站
  • 网站域名注册需要什么手续简述网站建设方案类型
  • 在线咨询妇科医生免费南阳seo网站建设费用
  • 建设网站app旅游网站内容
  • 网站蜘蛛屏蔽怎样恢复淮北市官网
  • 护肤品网站建设环境分析平面设计的图
  • 有没有做高仿手表的网站网站未建设的情况说明书
  • 安徽省工程建设协会网站wordpress怎么汉化
  • 网站左悬浮代码域名代备案
  • 门户网站与搜索引擎的区别比价网站开发