6 ms·
Yash: Yet Another Shell
- postepowanieadm 2y agoIt's quite nice. However a few basic functions are missing, like separate history for each instance.
- UncleOxidant 2y agoScenario: Something forces a reboot. I've got 4 bash shells open. I've been doing some compilation & linking of libraries with a crazy long gcc command. After I reboot, that's not in my history because only the first-opened bash shell's history seems to get saved and I've gotta recreate the commandline again. Is there any shell that would let me see all the history from all of the different shells I might have had open?
- coaksford 2y agoAs unhelpful as the other commenter suggesting atuin was, this is actually a thing that atuin does well, if you're using a shell it supports, it commits to history immediately.
- stirfish 2y agoI have my zsh set up that way # History file for zsh HISTFILE=~/.zsh_history # How many commands to store in history HISTSIZE=10000 SAVEHIST=10000 # Share history in every terminal session setopt SHARE_HISTORY
- yjftsjthsd-h 2y agoThat's how bash works for me, I believe by the combination of these in my .profile: shopt -s histappend PROMPT_COMMAND="history -a"
- FungalRaincloud 2y agoI had something similar set up on my second to last work laptop. I had done some heavy customization that was mostly focused on common workflows for that job, but I have learned that I should still keep a backup even if most of it won't work elsewhere. I should have learned this lesson almost a couple decades ago when I lost all my emacs customizations on a personal computer. But instead, I decided to learn vim.
- strangelove026 2y agoI really like https://atuin.sh/ https://atuin.sh/ It’s a free local (or remote) better shell history utility. Does a good job of syncing histories across multiple windows in my experience
- KerrAvon 2y agoWhat's the tl;dr on why one would use Yash vs anything else? ReadMe doesn't really explain what's unique here.
- klysm 2y agoMight not be a goal of the author. Maybe they just wanted to make a shell :)
- Lammy 2y agoYou probably shouldn't. Some times it's just fun to write a shell.
- deleted 2y ago[deleted]
- 0xbadcafebee 2y agoNot sure, but it says it's the most POSIX-compliant shell. Sometimes you have a requirement for a project like "must use a POSIX-compliant shell". If all the other existing shells are only mostly POSIX-compliant, then you'd want Yash.
- potus_kushner 2y agoIt's a comfortable, feature-rich interactive shell like bash, but with a relatively clean and small codebase, and the binary is only a third of bash's size. It's also much easier to build from source. Sort of a suckless bash replacement. Not compatible to most bash features though, focus is on POSIX compatibility.
- DiggyJohnson 2y agoBest “yet another*” project name in awhile. Cool stuff
- fuhsnn 2y agoI've never seen a mid-sized C codebase that annotate "restrict", "nonnull" pointers and "pure", "const" functions so thoroughly, very interesting, would be an important case study if I ever get around to write C optimizer passes.
- UncleOxidant 2y agoI kind of wish there was a shell that had the option for histories localized to a directory. So I can go into a directory and then look at what I was doing when I was last in that directory. Some complicated compilation command line to compile and link a source file and a bunch of libraries that was run when I was last in that directory, for example. There'd still be the 'history' command for everything and then maybe 'dhistory' for the commands that I ran in that specific directory when I was last there.
- tmm1 2y agoatuin.sh
- coaksford 2y agoI'm an atuin user and if this feature exists, I have not seen it and would love to have it. Could you expand on how to get per-directory history as something separate from global shell history?
- js2 2y ago`atuin search --cwd .` https://docs.atuin.sh/reference/search/#examples https://docs.atuin.sh/reference/search/#examples You could also make "directory" the default filter mode or bind it to up-arrow: https://docs.atuin.sh/configuration/config/#filter_mode https://docs.atuin.sh/configuration/config/#filter_mode https://docs.atuin.sh/configuration/key-binding/#custom-up-arrow-filter-mode https://docs.atuin.sh/configuration/key-binding/#custom-up-a...
- coaksford 2y agoThank you! Now that I know what the feature is even called it's much easier to learn about, definitely adding this to my config file.
- wswope 2y agoHit CTRL + r (by default) in the atuin menu to toggle the filter mode. Super useful. https://docs.atuin.sh/configuration/config/#filter_mode https://docs.atuin.sh/configuration/config/#filter_mode