https://github.com/joknarf/shellme
shell interactive session typing and executing commands
https://github.com/joknarf/shellme
command-line-tool demo robot shell
Last synced: 9 days ago
JSON representation
shell interactive session typing and executing commands
- Host: GitHub
- URL: https://github.com/joknarf/shellme
- Owner: joknarf
- Created: 2025-12-06T10:19:26.000Z (about 1 month ago)
- Default Branch: main
- Last Pushed: 2025-12-21T11:11:33.000Z (21 days ago)
- Last Synced: 2025-12-23T02:59:24.570Z (20 days ago)
- Topics: command-line-tool, demo, robot, shell
- Homepage:
- Size: 6.84 KB
- Stars: 3
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
[](https://joknarf.github.io/joknarf-tools)
[]()
[](https://shields.io/)
# shellme
`shellme` plays scripted commands (type and execute) in a interactive shell as it is done by a human.
Can be used to create simple demos to record with other tools, so you don't have to really type commands in good timing and without mistakes to record a demo video.

`shellme` just spawn an interactive shell using `expect` and is expecting shell prompt, then it type first command and press enter (execution) then wait to get next prompt...
(no commands with interactive response can be used, shellme only launch commands on prompt, use directly `expect` if you need interactivity)
```
# shellme "echo This is a demo" "ls -l"
```
## prerequisites
* expect
## usage
```
shellme [--prompt ] [--sleep ] \
[--speed ] \
[-f ] | ...
regexp : regexp to expect to get prompt, default '\n?.*[$#] $'
before_s : seconds to wait before typing, default 2
after_s : seconds to wait after typing, default 2
base_ms : typing char mseconds, default 120
jitter_ms : typing jitter mseconds, default 120
```