this post was submitted on 11 Aug 2023
0 points (NaN% liked)

Linux

48009 readers
809 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
 

So I've been using Linux now for a while, and am looking to migrate my dev environment to vim and spend more time in the command line. I'm fairly comfortable with bash but by no means an expert. I've used zsh with some minor customization but just recently learned about fish. I'd love to hear people's opinions.

top 10 comments
sorted by: hot top controversial new old
[–] Max_P@lemmy.max-p.me 0 points 1 year ago (1 children)

I use a mix of fish and nu depending on what I'm doing. NuShell is great but still pretty buggy, so I use fish as my default and switch to it when I want to use its features.

I still write most of my stuff in bash however since servers I work with typically only have bash, and so are potential coworkers.

But locally I see no point restricting myself to a POSIX compatible shell, especially for interactive shells. The easier and faster it is to use and customize the better. Being able to parse and use JSON and CSV and other things easily and natively right in the shell is a major quality of life improvement!

[–] zitronen@feddit.de 0 points 1 year ago (1 children)

Why not use Perl or python for scripting tasks? Bash script is terrible imo.

[–] Max_P@lemmy.max-p.me 0 points 1 year ago (1 children)

I mean, I guess technically Perl could do but it wont earn you any favors from your coworkers.

I do use Python for higher level stuff but I don't see a point to go Python when you're just gonna call 20 subprocess anyway to do like apt update apt dist-upgrade apt install wget this untar this rsync this. Especially when you can't even assume you're going to have Python to provision the box.

[–] zitronen@feddit.de 0 points 1 year ago

That's why I included Perl, it is always there. Just don't code as if you were in the nineties and Perl is a perfectly legitimate language, even more so for shell tasks. Bad and good doesn't depend so much on the language but the coder.

[–] sf1tzp@programming.dev 0 points 1 year ago* (last edited 1 year ago) (1 children)

If you want you can install starship, which provides a lot of the nifty prompt customization I see in other people's zsh configs. I've been using it with bash for a few months now and like it a lot.

[–] Thaurin@lemmy.ml 0 points 1 year ago (1 children)

I use tide with fish and I personally prefer it over starship.

[–] turbo_snail@lemmy.world 0 points 1 year ago (1 children)

Thanks for pointing me at tide. I always used the pure prompt but tide looks like pure on steroids.

[–] Thaurin@lemmy.ml 0 points 1 year ago* (last edited 1 year ago) (1 children)

Also look into the fzf plugin for fish. It’s the other plugin I use.

[–] zitronen@feddit.de 0 points 1 year ago

Fzf doesn't need fish, though. I use it with bash.

[–] marv99@feddit.de 0 points 1 year ago* (last edited 1 year ago)

Let the religious shell wars begin ... again

Only right answer is of course TCSH. Not much documentation and support, ancient but still receives new bugs in 2021 (on Debian), but attackers hate it! (I love it)

My real suggestion is to learn zsh and fish (and bash). Try using them for all your purposes and in the end you will automatically find the one (or more of them) that suits you best and that you like most for your daily tasks.