tauri项目绕开plugin-shell直接调用可执行文件并携带任意参数

article/2025/6/6 19:48:22

tauri项目的plugin-shell插件的要求太多了,用起来实在是不顺手,要求参数要求位置等,不行不行,客户要求可以在前端输入任意命令行参数并执行,哪怕是rm -rf都要无条件执行,好好好,满足你。

我们直接绕开 plugin-shell 插件,不使用它了,直接使用系统内置的功能,还能减小包体积呢,真是一举两得

use std::process::Command;

然后写一个command提供给前端调用,传入一个字符串参数即可:

#[tauri::command]
pub fn run_command(command: String) -> Result<String, String> {let output = if cfg!(target_os = "windows") {Command::new("cmd").args(&["/C", &command]).output().unwrap()} else {Command::new("sh").arg("-c").arg(&command).output().unwrap()};if output.status.success() {Ok(String::from_utf8_lossy(&output.stdout).to_string())} else {Err(String::from_utf8_lossy(&output.stderr).to_string())}
}

这里唯一要做的就是要在前端找到可执行文件的绝对路径位置,然后把参数拼好,再执行就可以了,这里我先写了一个绝对路径,测试也是没问题的,所以你要先自己通过程序拿到可执行文件的绝对路径,然后就可以了

// run help
const runHelp = async () => {const command = await invoke('run_command', {command: '/Users/song/Project/my/TauriMan/src-tauri/bin/fnm --version',})console.log('run_command------', command)
}

执行结果:


http://www.hkcw.cn/article/lWtgvnJtyE.shtml

相关文章

AJ-Report

目录 AJ-Report是什么 CNVD-2024-15077(AJ-Report认证绕过和远程代码执行漏洞) AJ-Report是什么 AJ-Report是完全开源的BI(Business intelligence)平台&#xff0c;旨在帮助用户生成和管理各种类型的报表。它通常用于web应用中&#xff0c;用于分析和展示数据&#xff0c;常用于…

Rust 函数

文章目录 Rust 函数函数参数语句与表达式带返回值的函数代码示例 Rust 函数 函数 函数在 Rust 代码中非常常见。你已经见过了语言中最重要的函数之一&#xff1a;main 函数&#xff0c;它是许多程序的入口点。你还见过 fn 关键字&#xff0c;它允许你声明新的函数。 Rust 代码…

【Typst】3.Typst脚本语法

概述 Typst的核心就是它在标记语法的基础上提供了一个灵活强大的脚本语言&#xff0c;来支持复杂的排版操作。 本节就以一个脚本语言的角度&#xff0c;介绍一下Typst脚本的核心语法。 系列目录 1.Typst概述2.Typst标记语法和基础样式3.Typst脚本语法4.导入、包含和读取5.文…

Java 文件操作 和 IO(5)-- 综合案例练习 -- 示例三

文章目录 题目描述&#xff1a;扫描指定目录&#xff0c;并找到文件名称或文件内容中包含指定字符的所有普通文件&#xff08;不包含目录&#xff09;结果案例演示&#xff1a;设计思路&#xff1a;总体的思路&#xff1a;使用代码&#xff0c;分步实现1. 准备工作&#xff08;…

微深节能 筒仓卸料小车远程智能控制系统 格雷母线

微深节能筒仓卸料小车远程智能控制系统——格雷母线高精度定位解决方案 在现代化筒仓物料管理中&#xff0c;卸料小车的精准定位与远程控制是提升效率、保障安全的关键。武汉市微深节能科技有限公司推出的格雷母线高精度位移测量系统&#xff0c;为筒仓卸料小车提供远程智能控…

股票指数期货的变动与股票价格指数的关系是什么?

很多小伙伴刚接触金融投资的时候&#xff0c;常常会听到“股票指数期货”和“股票价格指数”这两个词&#xff0c;但搞不清楚它们之间的关系。今天&#xff0c;我就给大家讲讲&#xff0c;这两个东西到底是什么关系。 一、股票价格指数是个什么&#xff1f; 股票价格指数&…

2025LitCTF re wp复现

LitCTF2025 wp&&复现 easy_rc4 魔改RC4&#xff0c;直接在异或处下条件断点&#xff0c;动调获取密钥流 FeatureExtraction 定位到main 前面都是一些初始化函数以及把输入的char型字符串转成int型数据 关键加密在sub_401722(Block, des) 加密逻辑就是 unsigned in…

Lovable + Cursor:零基础搭建专业应用的秘密武器

🚀 Lovable + Cursor:零基础搭建专业应用的秘密武器 为什么你需要这个工作流? 想象一下这样的场景:你用Lovable快速搭建了一个漂亮的网页原型,但当你想要添加更复杂的功能时,却发现自己被限制住了。或者你在Cursor里写代码很顺手,但每次从零开始设计界面都让你头疼不…

ARM GIC V3概述

中断类型 locality- specific peripheral interrupt&#xff08;LPI&#xff09;&#xff1a;LPI是一个有针对性的外设中断&#xff0c;通过affinity路由到特定的PE。 为非安全group1中断边沿触发可以通过its进行路由没有active状态&#xff0c;所以不需要明确的停用操作LPI总…

Docker部署与应用、指令

部署 【Docker】在 Ubuntu 22.04 以下版本上安装 Docker 的详细指南_ubuntu 安装docker-CSDN博客 应用 使用指定镜像创建并运行一个新容器 --name&#xff0c;指定容器名称 -d 代表后台运行 nginx 代表容器镜像名 docker ps 查看运行的容器 -a 查看…

内网横向之RDP缓存利用

RDP&#xff08;远程桌面协议&#xff09;在连接过程中会缓存凭据&#xff0c;尤其是在启用了 "保存密码" 或 "凭据管理器" 功能时。这个缓存的凭据通常是用于自动填充和简化后续连接的过程。凭据一般包含了用户的用户名和密码信息&#xff0c;或者是经过加…

从计量到通信,DJSF1352-D为快充桩系统提供了怎样的解决方案?

摘要 随着新能源汽车保有量的不断攀升&#xff0c;直流充电桩成为城市交通与能源基础设施的重要组成部分。电能计量作为充电桩运营、结算和安全管理的核心环节&#xff0c;对计量设备提出了更高的要求。安科瑞DJSF1352D导轨式直流电能表&#xff0c;凭借高精度、高稳定性和通信…

0518蚂蚁暑期实习上机考试题1:数组操作

题目 小红认为一个长度为 n 的数组 a 是好的&#xff0c;当且仅当对于任意的 i &#xff0c;均满足相等&#xff0c;其中数组下标 i 从 1 开始&#xff0c;小红每次可以对一个数加 1 或者减 1 &#xff0c;求把给定的数组变成好数组的最少操作次数。 输入描述&#xff1a;第一…

深入对比主流Java Web服务器与框架

目录 一、核心技术对比概览 二、深度解析与应用场景 1. Apache Tomcat - 企业级标准容器 2. Netty - 高性能网络编程框架 3. Undertow - 轻量级嵌入式服务器 4. Vert.x - 响应式应用框架 5. Play Framework - 全栈Web框架 三、性能基准测试对比&#xff08;参考数据&am…

晶台光耦在手机PD快充上的应用

光耦&#xff08;光电隔离器&#xff09;作为关键电子元件&#xff0c;在手机PD快充中扮演信号隔离与传输的“安全卫士”。其通过光信号实现电气隔离&#xff0c;保护手机电路免受高电压损害&#xff0c;同时支持实时信号反馈&#xff0c;优化充电效率。 晶台品牌推出KL817、KL…

EscapeX:去中心化游戏,开启极限娱乐新体验

VEX 平台推出全新去中心化游戏 EscapeX&#xff08;数字逃脫&#xff09;&#xff0c;创新性地将大逃杀玩法与区块链技术相融合。用户不仅能畅享紧张刺激的解谜过程&#xff0c;更能在去中心化、公正透明的环境中参与游戏。EscapeX 的上线&#xff0c;为 VEX 生态注入全新活力&…

服务端定时器的学习(一)

一、定时器 1、定时器是什么&#xff1f; 定时器不仅存在于硬件领域&#xff0c;在软件层面&#xff08;客户端、网页和服务端&#xff09;也普遍应用&#xff0c;核心功能都是高效管理大量延时任务。不同应用场景下&#xff0c;其实现方式和使用方法有所差异。 2、定时器解…

Axure形状类组件图标库(共8套)

点击下载《月下倚楼图标库(形状组件)》 原型效果&#xff1a;https://axhub.im/ax9/02043f78e1b4386f/#g1 摘要 本图标库集锦精心汇集了8套专为Axure设计的形状类图标资源&#xff0c;旨在为产品经理、UI/UX设计师以及开发人员提供丰富多样的设计素材&#xff0c;提升原型设计…

CET6 仔细阅读 24年12月第一套-C1 大脑这一块

文章 There are hundreds of personality quizzes online that assert they can ascertain whether the right or left half of your brain is dominant. Left-brained people are supposedly logical and excel at language and math while right- brained people are more i…

【JavaWeb】SpringBoot原理

1 配置优先级 在前面&#xff0c;已经学习了SpringBoot项目当中支持的三类配置文件&#xff1a; application.properties application.yml application.yaml 在SpringBoot项目当中&#xff0c;我们要想配置一个属性&#xff0c;通过这三种方式当中的任意一种来配置都可以&a…