Core Library0.xAPI Reference

Choose documentation 3

latest

Current version

latest
English

Early release libtmux is released, and its APIs may still change between releases. This site's structure and URLs may change too.

method libtmux-rs latest

Server.run_shell

Run a shell command through tmux and collect its output.

Source and package
Qualified name
libtmux::server::Server::run_shell
Module
server
Declared in
Server
Package
libtmux
Source
crates/libtmux/src/server.rs
Other languages
Perl Erlang PowerShell Julia Elixir Haskell Common Lisp PythonRuby Lua TypeScriptGoJavaC#C++ Swift Kotlin Scala OCaml F# Clojure
pub async fn run_shell( &self, command: impl Into<OsString> ) -> Result<Vec<TmuxText>, Error>

Description#

The command runs in tmux's own environment, not the caller's. Output lines are TmuxText because a shell can emit any bytes.

Errors

Returns an error when tmux refuses the command.

Also refuses outright on tmux 3.3, 3.3a, and 3.4, with Error::CapabilityDefective. Those releases send run-shell output into a pane's copy-mode buffer instead of to the client, and still exit zero, so the command appears to have produced nothing. Reporting an empty listing there would be a wrong answer the caller could not detect. 3.2a and 3.5 onwards are unaffected.

Cancel safety

The effect may have happened, and may still be happening. The shell command runs under the tmux server, not this dispatch, so a dropped call stops waiting for it without stopping it, and its output is lost.

Parameters

tmux command#

The tmux commands behind run_shell.

tmux C API#

The C declarations in tmux that implement these commands.

In other ports#

Run a shell command through tmux

Equivalents of Run a shell command through tmux in other languages
Language Equivalent
Python libtmux.Server.run_shell
Ruby LibTmux::Server#run
Haskell No public Haskell equivalent is implemented; the current modules expose scalar values and version parsing.
TypeScript server.Server.runShell
Go tmux.Server.RunShell
Java io.github.libtmux.Shell.run
C# LibTmux.Server.RunShellAsync
C++ libtmux::Server::run_shell
Swift Server.run(_:in:) types a command into a pane rather than running it on the host
OCaml No direct public OCaml equivalent is recorded for this operation.
Perl No dedicated equivalent in the selected Perl surface. Explicit Server::cmd remains available for native tmux commands.

No equivalent is recorded in Lua, PowerShell, Julia, Erlang, Elixir, Common Lisp, Clojure, Kotlin, Scala or F#.

Esc

Type to search.

Reference previewOpen reference