[ prog / sol / mona ]

prog


What shell do you use?

1 2021-10-12 12:07

I am thinking of using Dash because it is less bloated than other shells in the Bourne shell family (e.g. Bash and zsh).

2 2021-10-12 14:07

scsh is the only proper /prog/ response. I mostly use eshell however.

3 2021-10-12 15:14

I use Zsh but mksh and OpenBSD's version of Ksh would have enough features while being less bloated. btw, does anyone know if ksh2020 ( https://github.com/ksh2020/ksh ) is any good? Dash is good for scripts but imo sh is bad for scripting in general, unless the script is trivial.

4 2021-10-12 21:07

>>2

scsh is the only proper /prog/ response.

Scsh is yet another shameful example of an abandoned and inferior piece of Scheme software. How typical. Lispers love to boast about "power" of their language, but at the end of the day, actions speak louder than words.

5 2021-10-12 21:21

>>4
Just out of curiosity, in what way is it inferior?

6 2021-10-12 22:54

I use bash but apparently that is bloat or cringe or sucky or harmful or whatever.

7 2021-10-13 00:57

Scsh. I despise Sh syntax. I hate reading Perl, but I'd even choose Perl over Sh.

8 2021-10-13 01:34

>>7
Interesting perspective. I would have thought that the advantage of Sh is that it isolates you from the toxic Lisp culture that emphasizes subjective "beauty", "elegance", and "power". In contrast, Sh is all about getting things done, without the ideological dogma that is so common among Lispers.

9 2021-10-13 01:40

>>8
You're delusional if you think that there isn't just as much ideological dogma around the Unix shells.

10 2021-10-13 03:38 *

I already am eating from the trashcan all the time. The name of this trashcan is ideology. The material force of ideology makes me not see what I am effectively eating. It’s not only our reality which enslaves us. The tragedy of our predicament when we are within ideology is that when we think that we escape it into our dreams, at that point we are within ideology.

11 2021-10-13 08:37

I use zsh as my interactive shell. I use /bin/sh (Dash) for running shell scripts, and sometimes Bash.

12 2021-10-13 12:54

>>8

In contrast, Sh is all about getting things done

if you use sh to do something even slightly more complex, the script turns into a mess.

13 2021-10-13 13:23

>>12

Are you trying to say there is more to computing than editing config files?

14 2021-10-13 18:51

Bash, because it's default and it works.

15 2021-10-13 21:01

>>12
It is a joy to program using the sh family of programming languages when using a source-to-source compiler written in sh to compile sh++ code into plain sh.

Welcome to the land of sh. It's sh all the way down!

16 2021-10-13 21:03

>>14

Bash, because it's default and it works.

Bash does not even try to hide its POSIX non-compliance. Why would one use a non-standards-compliant shell when POSIX-compliant ones are available?

17 2021-10-13 22:32

>>16
Daily reminder that Stallman never liked Unix, he simply thought that Unix was good enough to be the basis for GNU. GNU believes in making useful software as a higher goal than "purity to standards". The result is that Bash implements non-standard features for the people who believe the same thing.

18 2021-10-13 22:36 *

>>17

he simply thought that Unix was good enough to be the basis for GNU

Emacs

19 2021-10-14 00:01

I use zsh most of the time combined with prezto because I like prezto's defaults. It's very much boated though.

I have looked for alternatives to the shitty shell experience and I found this: https://ambrevar.xyz/lisp-repl-shell/ but I haven't gotten to it try it yet. The problem is that I'm productive in my prezto environment and I'm not sure if its worth it to learn something new, even though the lisp environment is a click away...

I had this same experience with StumpWM. I don't have the time anymore to fuck around with my DE, which is a Gentoo system that takes up plenty of time as it is to maintain that shit. Every month some news item on deprecated software besides the 1600 packages is plenty for me atm.

20 2021-10-14 10:04

>>16
As I don't use POSIX-OS to begin with, I don't see how this matters. There is no inherent virtue to POSIX when it comes to interactive programs (I get it when programming something you want to be portable, but that is a different context).

21 2021-10-16 17:33

>>20
What OS do you use?

22 2021-10-17 00:58

I wonder if anyone uses Emacs' eshell as their default shell.

23 2021-10-17 01:17

>>1

one word: mksh

24 2022-03-09 00:21 *

bash or zsh, whichever is the default.

25 2024-04-12 09:34

How about Flesh (aka Relish)?

https://gitlab.com/whom/relish

It's an attempt at making a Lisp-like login shell with job control.
(I'm not the author!)

More alternatives?

https://wiki.archlinux.org/title/Command-line_shell#List_of_shells

I'm thinking about trying ion and maybe PowersHell...

>>22
I think if you are crazy enough, you could set Emacs as your login shell?
(or perhaps try Midnight Commander?)

26 2024-04-13 01:20

Gash! ———–[]=¤ԅ༼ ・ 〜 ・ ༽╯
https://packages.guix.gnu.org/packages/gash

27 2024-04-13 03:50

I use Gnome and Gnome Shell.

28 2024-04-16 00:47

how do you pronounce zsh?

29 2024-04-16 04:32

Z Shell or Z S H

30 2024-04-19 07:02

>>1
Dash is great for scripts (because it's very fast!) but it doesn't have Readline support. I think there is a patch that adds support for libedit, though. Alpine Linux has pretty good default shell with Busybox's ash (it also
has command history). Also, OpenBSD Ksh is pretty good. It's not bloated but it has good quality of life features. There are 2 Linux ports of the OpenBSD verson of Ksh but I can't remember which is the better one.

31 2024-04-19 16:56

>>30

I think there is a patch that adds support for libedit ...

IIRC, it is not a patch but a compile time option. Debian and Ubuntu compile Dash without libedit.

32 2024-04-20 20:36

I used ash and ksh both for a while but quite honestly bash isn't that bad and everyone else uses it.

It's really what you want in a shell after you fix the stupid way it handles history.

33 2024-04-23 14:26
#include <stdio.h>
#include <string.h>
#include <unistd.h>
#include <sys/wait.h>

int main()
{
        char buffer[512];
        while (1) {
                printf("$ ");
                fgets(buffer, 512, stdin);
                *strchr(buffer, '\n') = '\0';
                char *token[16] = { 0 };
                token[0] = strtok(buffer, " ");
                for (int i = 1; token[i] = strtok(NULL, " "); ++i);
                pid_t pid = fork();
                if (pid)
                        waitpid(pid, &pid, WUNTRACED);
                else
                        execvp(token[0], token);
        }
        return 0;
}

you "need" more?

34 2024-04-23 22:22 *

>>33

(loop (print (eval (read))))

you ``NEED'' more??

35 2024-04-24 14:03

>>34

* (define-macro (sh . rest) `(system* ,@(map symbol->string rest)))
* (sh ls -lh)
drwxr-xr-x 2 cudder cudder 4.0K Apr 14 12:53 bin
drwxr-xr-x 2 cudder cudder 4.0K Apr 14 13:28 src
0

i need more

36 2024-04-24 15:22

at the moment csh since it's default on freebsd (which i'm daily driving right now), bash usually on linux, though i'm also using csh on slackware.

37


VIP:

do not edit these