[ 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 2024-05-21 06:35

>>36
How does csh compare to ksh or bash? I have only heard that it shouldn't be used for scripting: https://harmful.cat-v.org/software/csh

I have also heard other bad things about it: https://www.grymoire.com/unix/CshTop10.txt
Maybe tcsh has fixed some of these problems?

38 2024-05-21 07:54

Right now it's zsh for interactive use and whatever /bin/sh happens to point to for scripting. Only feature zsh has that I actually use and no other shell has is the rc_quotes options, helps when writing commit messages inline so you can type "it''s" instead of "it'\''s". I actually used rc as a login shell for a little while and it works pretty good except for retarded programs like vim using shell syntax to do shit like redirection (lol) and lacking job control which I don't use much anyway, tmux does the "run multiple programs and switch between them" thing easily and better.

39 2024-05-21 22:12

I just switched to ZSH after using Bash for around 2 years. I've also messed with fish, but I see a lot of people shit on it because it was written in Rust, which is fair.

40 2024-05-22 15:43 *

I'm testing out zsh right now, but it's retarded that you need to add all this garbage to your .zshrc file to get normal keybindings to work https://wiki.archlinux.org/title/Zsh#Key_bindings
For what possible reason would home/end not be bound by default...

41 2024-06-03 16:58

zsh. i was recommended it by a friend when i first switched to linux and i like it well enough and see no reason to switch currently

i spend more time in emacs than i do in the terminal though so eshell gets an honorable mention

42 2024-06-17 22:01

GNU Bash. It just works™

43 2024-07-31 10:15

Fish. It has a lot of problems, but check this out:

$ mkdir /path/to/you/know/THETHING
$ echo FUCKIN SUCKS
$ cp ./*.blort /THETHING<M-.>

It doesn't just append the last word from the previous line so that I end up with "/THETHINGSUCKS". It searches backward in the history and ''substitutes'' the symbol matching the substring at the point.

This is apparently some kind of rocket science, because I've never seen another shell do it properly.

44 2024-08-10 15:48

farts

45 2024-08-16 16:41

Eshell. Werks fine.

46 2024-08-24 15:05

Babashka (✧ω✧)

47 2024-09-12 13:34

eshell or nix shell

48 2024-09-13 11:50

bash for my shell, and a POSIX complient /bin/sh for "command oriented" scripting.

49 2024-09-15 13:19

PowerShell, because it's crossplatform.

50 2024-09-19 19:59

I'm thinking about trying Ion (from Redox) or Elvish (or possibly even nushell).

https://doc.redox-os.org/ion-manual/
https://elv.sh
https://www.nushell.sh/book/quick_tour.html

51 2024-09-21 18:09

Unix in Lisp?
https://github.com/PuellaeMagicae/unix-in-lisp

But the questions is, is this this too much voodoo?

52 2024-09-21 18:33

Rash: The Reckless Racket Shell
https://rash-lang.org

53 2024-10-14 08:13

PowerShell is kind of interesting. I'm still very new,. Are you interested in trying it: https://books.goalkicker.com/PowerShellBook/

# help system
Update-Help -ErrorAction Continue
help Get-Process   # alias for Get-Help foobar | more
Get-Help -examples Out-GridView
Get-Process | Get-Member  # pipe object, not text
Get-Command *json*  # which commands contain "json"?
Get-alias select
Get-Verb
Show-Command Get-Process  # open a GUI for command

# List processes without active windows.
# it's formatted in a GUI table thing.
# You could also use Format-Table or Format-List
#
# let's checks if mainWindowTitle property for each process is $null and select those objects:
Get-Process | Where-Object -EQ -value $null  {$_.mainWindowTitle} | Out-GridView

# who is using up teh RAM?
Get-Process | Sort-Object -Property WS | Select-Object -Last 5

# calculate file checksum
Get-FileHash gentoo.iso

# find new files added in the last 7 days
Get-ChildItem -Path Downloads -Recurse | Where-Object CreationTime -gt (Get-Date).AddDays(-7)

# find large files, convert size to MB with 2 decimal places, sort by the new "Size (MB)" property and format as table
Get-ChildItem -Path Downloads -Recurse | Where-Object { $_.Length -gt 255MB } | Select-Object FullName, @{Name="Size (MB)"; Expression={ [math]::Round(($_.Length / 1MB), 2) }} | Sort-Object -Property "Size (MB)" | Format-Table
54


VIP:

do not edit these