Skip to content
Tauri

Shell

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

支持的平台

This plugin requires a Rust version of at least 1.77.2

Platform Level Notes
windows
linux
macos
android

Only allows to open URLs via open

ios

Only allows to open URLs via open

设置

请安装 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/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: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