- Notifications
You must be signed in to change notification settings - Fork1
pmsanford/psh
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
This is an experimental shell, partly inspired bythis blog post about a much more ambitious shell. Being experimental, this is not suitable for day to day use.
Features:
- Aliases, accessed and created by the
alias
command. - History and hints, provided by rustyline, accessed by pressing up at the command line (for history) and pressing right (for accepting hints)
- Cross-shell environment variable access, provided by the
diffenv
andcopyenv
commands. - Cross-shell status information, provided by the
pshl
command. - Remotely setting environment variables for the parent shell of other scripts and programs using the
setenv
utility (which allows me to avoid creating a scripting language - you can just write your pshrc in bash and callsetenv
to set variables in the parent environment)
Here's an example of these being used together: You've got a long-running process you don't want to kill, but it would be a pain to recreate parts of that environment to run another process. Or maybe you've had a process running for a long time and can't remember exactly how you configured its environment.
About
An experimental interconnected shell