麒麟系统运行脚本文件的方法
在银河麒麟系统中,双击 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 使其生效。这种方式支持自动重启、日志查看与依赖管理,适合需要长期驻留的监控类脚本。
游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。
同类文章
Win11电脑无法通过USB数据线连接安卓手机传输多媒体文件
Win11电脑能识别安卓手机盘符但无法双击打开媒体文件,根源在于MTP协议缓存流程被系统策略或驱动阻断。解决方法是手动开启手机MTP模式、启动ShellHardwareDetection服务、重装WPD驱动,或改用资源管理器直连及FTP无线传输。
Win10开启内置传真与多功能文档扫描
Windows10内置传真和扫描工具默认关闭,需手动启用。通过控制面板进入“启用或关闭Windows功能”,勾选“Windows传真和扫描”即可。启动可用wfs命令、开始菜单或任务栏搜索。扫描也可通过打印机右键菜单直接操作。
Win11关闭右下角通知中心所有第三方应用提醒推送
在Windows11系统中,可通过设置逐个关闭第三方应用的通知权限,禁用任务计划程序中的弹窗任务,并清除通知缓存、重启推送服务,从而精准屏蔽第三方推送而不影响系统重要提醒。
Win10内置截图和草图快速修改工具开启方法
在Windows101809及以上版本中,用户需要安装“截图和草图”可选功能,并开启WindowsInk工作区。用户可设置PrtScn键直接启动编辑界面,或者使用Win+Shift+S快捷键截图后点击通知进入编辑界面,还可以通过开始菜单启用延时截图实现截完即编。
Win10系统还原点删除失败 卷影复制服务错误0x8004
Windows10系统还原点删除失败并提示卷影复制服务报错0x8004,因VSS元数据损坏或写入器锁死。需以管理员身份执行命令强制清空所有卷影副本,重置存储空间配置,重启VSS核心服务,并卸载冲突的第三方VSS提供程序。
- 热门数据榜
相关攻略
2026-07-20 17:27
2026-07-20 17:27
2026-07-20 17:27
2026-07-20 17:27
2026-07-20 17:26
2026-07-20 17:26
2026-07-20 17:26
2026-07-20 17:26
热门教程
- 游戏攻略
- 安卓教程
- 苹果教程
- 电脑教程

