游乐游手机版
首页/系统平台/文章详情

麒麟系统运行脚本文件的方法

时间:2026-06-19 07:23
在银河麒麟系统中,双击 sh或 py脚本默认被拦截。可通过终端赋权并运行、显式调用bash或python3解释器、或创建 desktop文件实现双击启动。运行Perl脚本需先安装解释器。开机自动运行可将 desktop文件放入autostart目录或编辑rc local。

在银河麒麟操作系统中,双击 .sh 或 .py 脚本文件后毫无响应时,不必急于怀疑脚本编写存在问题。这其实是系统内置的防护机制在发挥作用——Peony 文件管理器从 V10 SP1 版本开始,默认禁止通过双击执行 .sh 后缀文件;更关键的是,当前桌面环境并不会加载用户的 PATH 变量和工作目录。因此,要让脚本顺利运行,您需要采用以下几种替代方式。

麒麟系统怎么运行脚本文件

通过终端赋予脚本执行权限并运行

这是最基础且最稳妥的方法——绕过图形界面的限制,直接将脚本交给 Shell 解释器处理。

第一步:打开终端,使用 cd 命令切换至脚本所在目录,例如 cd /home/kylin/Scripts

第二步:执行 chmod +x deploy.sh 为脚本添加可执行权限。这一步不能省略,因为 Linux 内核会拒绝运行缺少 x 位的文件。

第三步:输入 ./deploy.sh 来启动脚本。注意,必须携带 ./ 前缀,否则系统会尝试在 PATH 路径中寻找,而当前目录通常不在其中。

如果遇到 $'r': 未找到命令 这类提示,说明脚本是在 Windows 环境下编写的,换行符为 CRLF 格式。请立即执行 sed -i 's/r$//' deploy.sh 进行修复,否则后续所有步骤均无法生效。

使用显式解释器调用(无需权限、无需路径)

如果不想修改文件属性,或者不确定脚本是否具备执行权限,这条路径最为省心。

直接在终端输入 bash deploy.sh 即可运行。Bash 会逐行读取文件内容并解释执行,完全不需要依赖 x 权限或 shebang 行。

需要注意的是,如果脚本使用了 [[ ]]、数组、source ~/.bashrc 等 Bash 专属语法,必须使用 bash 而不是 sh——因为在麒麟系统中,sh 指向的是 Dash,并不支持这些特性。

对于 Python 脚本,统一采用 python3 script.py。请避免使用 python,因为系统可能将其指向已废弃的 Python 2,或者根本未安装,最终会报出 ModuleNotFoundError 错误。

创建 .desktop 文件实现双击启动

这是唯一能让普通用户像点击图标一样运行脚本的方式,适合需要反复调用、带交互界面或 GUI 输出的场景。

方法一:手动创建 .desktop 文件

在桌面上新建文本文件,命名为 backup.desktop,填入以下内容:

[Desktop Entry]
Version=1.0
Name=每日备份
Exec=/bin/bash -c "cd /home/kylin/scripts && ./backup.sh"
Terminal=true
Type=Application
Icon=drive-harddisk
Path=/home/kylin/scripts

【Path 字段必须填写,否则脚本内的相对路径将失效】

保存后,在终端执行 chmod +x ~/桌面/backup.desktop

方法二:通过系统设置添加

点击“开始菜单 → 设置 → 系统 → 开机启动”,然后选择“添加自启动程序”。在“命令”栏粘贴完整路径:/bin/bash /home/kylin/scripts/backup.sh。系统会自动生成对应的 .desktop 文件并存放至 ~/.config/autostart/ 目录。

运行 Perl 脚本的特别注意事项

Perl 并非麒麟系统的预装组件,首次运行 .pl 文件前必须先安装解释器。

执行 sudo apt update && sudo apt install perl perl-base perl-modules-5.34。版本号请以 apt-cache search perl-modules 实际返回的结果为准。

脚本的第一行必须是 #!/usr/bin/perl,且该路径需与 which perl 的输出完全一致。如果输出是 /usr/local/bin/perl,就必须修改 shebang,否则 ./script.pl 会报 Command not found

赋权后仍然无法执行?请检查文件编码是否为 UTF-8 无 BOM。使用 file -i script.pl 确认,如果显示 iso-8859-1,则执行 iconv -f iso-8859-1 -t utf-8 script.pl > script_new.pl 进行转换后再试。

开机自动运行 .sh 脚本

1. 用户登录后运行(推荐):将 .desktop 文件复制到 ~/.config/autostart/ 目录下。脚本会在 UKUI 桌面就绪后执行,能够访问 X11、用户环境变量以及家目录。

2. 系统启动早期运行(慎用):编辑 /etc/rc.local,在 exit 0 之前添加一行:sudo -u kylin /bin/bash /home/kylin/scripts/mount-nfs.sh。注意必须使用 sudo -u kylin,因为 rc.local 以 root 身份运行,而脚本很可能依赖普通用户的 HOME 或配置文件。

3. 后台守护进程运行:使用 systemd 用户服务。创建 ~/.config/systemd/user/nfs-mount.service,然后执行 systemctl --user enable nfs-mount.service 使其生效。这种方式支持自动重启、日志查看与依赖管理,适合需要长期驻留的监控类脚本。

来源:https://www.php.cn/faq/2665256.html
上一篇麒麟系统更改默认文件编辑器方法 下一篇银河麒麟网络连接显示问号解决办法详细步骤
本站内容用于信息整理与展示,如有侵权或内容问题请及时联系处理。

相关推荐

补充同频道和同主题内容,方便继续浏览更多相关内容。

同类最新

继续查看同栏目最近更新的文章。

更多
微软详解Win11时间点还原 默认每24小时创建恢复点
系统平台 · 2026-06-30

微软详解Win11时间点还原 默认每24小时创建恢复点

微软今日推送了最新的 6 月可选更新,并发布博客详细解读了 Win11 全新的“时间点还原”(Point-in-time restore)功能——这一功能本质上是对系统恢复体验的一次全面升级,旨在让用户更轻松地应对电脑故障。 微软表示,面向 Windows 11 客户端用户的“时间点还原”功能现已正

Win11 26H1六月可选更新KB5095091 优化放大镜改善装机体验
系统平台 · 2026-06-30

Win11 26H1六月可选更新KB5095091 优化放大镜改善装机体验

微软今天推送了Windows 11 26H1设备的6月可选更新KB5095091,安装完成后系统版本号会升级到Build 28000 2340。值得一提的是,这次更新并非面向所有设备,而是专门为搭载高通骁龙X2系列芯片的机型准备的——包括骁龙X2 Plus、X2 Elite和X2 Elite Ext

Win11六月可选更新KB5095093修复回收站弹窗异常
系统平台 · 2026-06-30

Win11六月可选更新KB5095093修复回收站弹窗异常

微软已悄然推送Windows 11六月可选更新,编号KB5095093。本次更新覆盖两个版本:24H2用户安装后版本号升级至Build 26100 8737,而25H2用户则更新至Build 26200 8737。 本次更新并非仅是小修小补,而是带来了多项实质性新功能。下面我们就来详细解析这些更新内

苹果macOS 27 Beta2封堵Siri AI跳过候补名单漏洞
系统平台 · 2026-06-30

苹果macOS 27 Beta2封堵Siri AI跳过候补名单漏洞

科技媒体 Cult of Mac 昨日(6月23日)发布博文指出,苹果在 macOS 27 Beta 2 更新中悄然封堵了一个此前可用的后门——用户曾能通过一条终端命令绕过候补名单,直接启用新版 Siri AI,如今这一方法已失效。 简要回顾一下:在 macOS 27 Beta 1 阶段,只需在 M

微软加速Win11 25H2推送 覆盖所有符合条件家用PC
系统平台 · 2026-06-30

微软加速Win11 25H2推送 覆盖所有符合条件家用PC

近日(6月23日),科技媒体 Windows Latest 发布了一则值得关注的动态:微软已进一步扩大 Windows 11 25H2 的推送范围,所有满足硬件要求、且不受 IT 部门管理的家庭版和专业版设备,现在均可顺利接收本次更新。 此次升级有一个显著特点——采用“启用包”(eKB)方式进行推送