跳转到内容
Tauri

Shell

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

支持的平台

  • Windows
  • Linux
  • macOS

设置

这个插件要求 Rust 版本至少是 1.75

请安装 shell 插件。

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

npm run tauri add shell

用法

Shell 插件有 JavaScript 和 Rust 两种版本。

import { Command } from '@tauri-apps/plugin-shell';
let result = await Command.create('exec-sh', [
'-c',
"echo 'Hello World!'",
]).execute();
console.log(result);

权限

默认情况下,所有插件命令都被阻止,无法访问。你必须在你的 capabilities 配置中定义一个权限列表。

更多信息请参见访问控制列表

src-tauri/capabilities/main.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:allow-execute在没有预先配置的作用域的情况下启用 execute 命令。
shell:deny-execute拒绝没有任何预配置范围的 execute 命令。
shell:allow-kill在没有预先配置的作用域的情况下启用 kill 命令。
shell:deny-kill拒绝没有任何预配置范围的 kill 命令。
shell:allow-open在没有预先配置的作用域的情况下启用 open 命令。
shell:deny-open拒绝没有任何预配置范围的 open 命令。
shell:allow-stdin-write在没有预先配置的作用域的情况下启用 stdin_write 命令。
shell:deny-stdin-write拒绝没有任何预配置范围的 stdin_write 命令。

© 2024 Tauri Contributors. CC-BY / MIT