Saltar al contenido

Shell

GitHubnpmcrates.io
Referencia de API

Accede al shell del sistema. Te permite generar procesos hijo.

Este plugin requiere una versión de Rust de al menos 1.77.2

PlataformaNivelNotas
windows
linux
macos
android

Solo permite abrir URLs a través de open

ios

Solo permite abrir URLs a través de open

Si estás buscando documentación para la API shell.open, en su lugar consulta el nuevo plugin Opener.

Instala el plugin shell para comenzar.

Usa el gestor de paquetes de tu proyecto para agregar la dependencia:

npm run tauri add shell

El plugin shell está disponible tanto en JavaScript como en 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);

De forma predeterminada, todos los comandos y alcances (scopes) potencialmente peligrosos del plugin están bloqueados y no se puede acceder a ellos. Debes modificar los permisos en tu configuración de capabilities para habilitarlos.

Consulta la Visión General de Capacidades para obtener más información y la guía paso a paso para usar permisos de plugins.

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
}
]
}
]
}

Permiso Predeterminado

Este conjunto de permisos configura qué funcionalidad de shell se expone por defecto.

Permisos Otorgados

Permite usar la funcionalidad open con un scope razonable preconfigurado. Permitirá abrir enlaces http(s)://, tel: y mailto:.

Este conjunto de permisos predeterminado incluye lo siguiente:

  • allow-open

Tabla de Permisos

Identificador Descripción

shell:allow-execute

Habilita el comando execute sin ningún scope preconfigurado.

shell:deny-execute

Deniega el comando execute sin ningún scope preconfigurado.

shell:allow-kill

Habilita el comando kill sin ningún scope preconfigurado.

shell:deny-kill

Deniega el comando kill sin ningún scope preconfigurado.

shell:allow-open

Habilita el comando open sin ningún ámbito preconfigurado.

shell:deny-open

Deniega el comando open sin ningún ámbito preconfigurado.

shell:allow-spawn

Habilita el comando spawn sin ningún scope preconfigurado.

shell:deny-spawn

Deniega el comando spawn sin ningún scope preconfigurado.

shell:allow-stdin-write

Habilita el comando stdin_write sin ningún scope preconfigurado.

shell:deny-stdin-write

Deniega el comando stdin_write sin ningún scope preconfigurado.


© 2026 Colaboradores de Tauri. CC-BY / MIT