hold-your-shell is a command line program (TUI) that previews shell
scripts (or any shebang script) in a pager, and asks the user to
confirm execution.
This single file program is written for Python 3.x and only uses the stdlib.
Pip install:
pip install hold-your-shell
Manual install:
HY_BIN=~/.local/bin/hold-your-shell
mkdir -p $(dirname ${HY_BIN})
wget -O ${HY_BIN} https://raw.githubusercontent.com/EnigmaCurry/hold-your-shell/refs/heads/master/hold_your_shell/hold_your_shell.py
chmod +x ${HY_BIN}
- Pipe any script to the stdin of
hold-your-shell. - The script will be previewed on the first tab shown:
Script Preview. - Press TAB to cycle through the other tabs, including
Env Vars. - Use the up, down, PgUp, PgDown,
j, orkkeys to scroll the text. - Use the left, right,
h, orlkeys to select the action and pressEnterto confirm.- Choose
Yesto run the script. - Choose
Noto cancel and quit (default). - Choose
Editto open the script in your preferred$EDITOR, allowing you to customize it before running it.
- Choose
echo "whoami" | hold-your-shell
echo -e '#!/bin/python\nprint("Hello from Python!")' | hold-your-shell
cat <<'EOF' | hold-your-shell
echo "What is your name?"
read NAME
echo "Hello $NAME"
EOF
curl https://get.docker.com/ | hold-your-shell
cat <<EOF > test.txt
#!/bin/env python
print("Hello from Python!")
EOF
hold-your-shell --consume test.txt
--consume will delete the input file immediately after it reads
it.
echo whoami | hold-your-shell --linger
--linger will have the program remain running after completion of
the script until a key is pressed.
See DEVELOPMENT.md
