![](/static/66c60d9f/assets/icons/icon-96x96.png)
![](https://lemmy.ml/pictrs/image/q98XK4sKtw.png)
Long ago I made such restricted shell with filtering the shell command history file then disabling command history logging. With some shell scripting, I think you can get more sophisticated version. What shell are you using? (Bash, Fish, Zsh, etc.)
Japanese Speaker. I can read/write some English but not well, so corrections are always appreciated.
プログラミングや音楽に興味があります。いまはkbinのソースやActivityPubの仕様を読んだりしています。
Long ago I made such restricted shell with filtering the shell command history file then disabling command history logging. With some shell scripting, I think you can get more sophisticated version. What shell are you using? (Bash, Fish, Zsh, etc.)
The repository has Makefile so you can build the executable with make
:
$ cd /tmp
$ git clone https://git.sr.ht/~leon_plickat/lswt
$ cd lswt
$ make
$ ./lswt
$ sudo make install (optional)
I think https://git.sr.ht/~leon_plickat/lswt may work.
Some applications can’t display some Unicode strings like s̵t̵r̵o̵k̵e̵, so replacing Markdown element like ~strike~
with Unicode equivalent (s̵t̵r̵o̵k̵e̵ ) may not be a good idea if you want portability. I opened your post in text editors and noticed that neovim-qt drops s̵t̵r̵o̵k̵e̵’s combining characters (issue on Github) and just displays
stroke instead of s̵t̵r̵o̵k̵e̵; GUI Emacs with my font settings (Noto) doesn’t combine
the characters and displays s-t-r-o-k-e-
(as I said, this may depends on font settings).
Bash should be fine. On typical Bash installation I think this will work (please try to understand each command line before you actually try):
$ cp ~/.bashrc ~/.bashrc.bak $ cp ~/.bash_history ~/.bash_history.bak $ printf 'set +o history' >> ~/.bashrc $ printf "sudo apt update\nsudo apt upgrade\n" > .bash_history $ (Press Ctrl+D to logout)
For the next bash session you can refer only the two commands from the history with Up/Down/C-p/C-n.