跳转到内容
Tauri

Shell

访问系统shell。允许您使用默认应用程序启动子进程并管理文件和URL。

支持的平台

该插件需要至少Rust版本的1.77.2

平台 级别 备注
Windows
Linux
macOS
Android

仅允许通过open打开URL

iOS

仅允许通过open打开URL

设置

安装shell插件开始使用。

使用您的项目包管理器添加依赖

npm run tauri add shell

用法

shell插件同时提供JavaScript和Rust。

import { Command } from '@tauri-apps/plugin-shell';
// when using `"withGlobalTauri": true`, you may use
// const { Command } = window.__TAURI__.shell;
let result = await Command.create('exec-sh', [
'-c',
"echo 'Hello World!'",
]).execute();
console.log(result);

权限

默认情况下,所有潜在的危险插件命令和作用域都被阻止,无法访问。您必须修改capabilities配置中的权限才能启用这些权限。

有关更多信息,请参阅能力概述以及使用插件权限的分步指南

src-tauri/capabilities/default.json
{
"$schema": "../gen/schemas/desktop-schema.json",
"identifier": "main-capability",
"description": "Capability for the main window",
"windows": ["main"],
"permissions": [
{
"identifier": "shell:allow-execute",
"allow": [
{
"name": "exec-sh",
"cmd": "sh",
"args": [
"-c",
{
"validator": "\\S+"
}
],
"sidecar": false
}
]
}
]
}

默认权限

此权限集配置了默认暴露的shell功能。

已授予权限

它允许在没有预配置作用域的情况下使用open功能。它将允许打开http(s)://tel:mailto:链接。

  • allow-open

权限表

标识符 描述

shell:allow-execute

启用没有预配置作用域的执行命令。

shell:deny-execute

拒绝没有预配置作用域的执行命令。

shell:allow-kill

允许在任何预先配置的范围之外使用kill命令。

shell:deny-kill

可以拒绝在没有预先配置范围的情况下使用kill命令。

shell:allow-open

允许在任何预先配置的范围之外使用open命令。

shell:deny-open

可以拒绝在没有预先配置范围的情况下使用open命令。

shell:allow-spawn

允许在任何预先配置的范围之外使用spawn命令。

shell:deny-spawn

可以拒绝在没有预先配置范围的情况下使用spawn命令。

shell:allow-stdin-write

允许在任何预先配置的范围之外使用stdin_write命令。

shell:deny-stdin-write

可以拒绝在没有预先配置范围的情况下使用stdin_write命令。


© 2025 Tauri 贡献者。CC-BY / MIT