Repository navigation
User Guide
dpshell offers a native shell with real-time syntax highlighting, grey-text autosuggestions from history, and smart tab completion (fuzzy matching or traditional bash-style).
Start interactively:
dpRun a script:
dp script.shRun an inline command:
dp -c 'echo hello && echo world'Start as login shell:
dp -lCommands, builtins, strings, flags, operators, and comments are colour-coded as you type. Valid executables are distinguished from unknown commands.
A grey ghost text from history appears; press Right or Ctrl+F to accept.
Two modes are available:
-
Enhanced (default) — fuzzy matching powered by
nucleowith columnar menu display - Bash-style — traditional prefix-based completion
Toggle via enhance_completion in the configuration file.
Single-level navigation: Entering cd ? displays numbered subdirectories. Input a number to enter the corresponding directory.
dpshell(1)# cd ?
1) amd64
2) arm64
3) debug
4) test_space
Select directory (enter q to quit):
Recursive navigation: Entering cd ?? enables a recursive directory browser, allowing you to traverse up and down the file tree interactively.
dpshell(1)# cd ??
1) debug
2) test_space
3) arm64
4) amd64
l] Back to parent directory
q] Exit recursive mode
Current directory: /root/dpshell >
The environment variable DPSHELL_LEVEL tracks nesting depth. The prompt displays as dpshell(level)$ (or # for root), helping you identify the current shell nesting level.
Set bash_compat = true in the [core] section to enable:
- Reading
~/.bashrcat startup - Persistent command history in
~/.bash_history(shared with bash)
Important
When bash_compat is enabled, ~/.bashrc is sourced automatically. Please ensure all sourced scripts come from trusted sources.
dpshell can be used as a login shell with -l or --login. However, it does not source /etc/profile, ~/.bash_profile, or ~/.profile.