Fish rules
-
I have no shell configs of any kind
because it seemed like everytime I used another computer, I would not have them and I would end up having the re-learn everything.So instead I google every command every time or ask chatgpt, like this
I find it very annoying there’s isn’t a reliable way to use alias or shells, functions and stuff.
I have no shell configs of any kind because it seemed like everytime I used another computer, I would not have them and I would end up having the re-learn everything.
What I do is store my dotfiles in a git repository, and leave symlinks to the files in that repository. Then, when I move to another computer, pulling over all my configuration consists of doing a
git pull
to pull the git repo over and then running a command to set up the symlinks on that new computer. I can also make changes and selectively push things in. Some things need to be specific to a computer, and those don’t go in.I use a homebrew script to set up the symlinks. A number of people use GNU stow for this.
kagis for an example of someone using stow
https://brandon.invergo.net/news/2012-05-26-using-gnu-stow-to-manage-your-dotfiles.html?round=two
If you edit the symlinks in emacs (and I imagine vim), it picks up on the fact that they’re symlinks into a git repository and that they’re version-controlled.
So, like:
-
Have a bare git repository on home machine, the “master” copy.
-
Every machine with an account has a non-bare dotfiles git repository checked out and symlinks pointing into that repo.
-
Make any changes on a given machine like you normally would, then git commit them to the local non-bare dotfiles git repo and push them to the master repository.
-
If setting up on a new machine, pull the git repository, and then run the command to set up the symlinks.___
-
-
Wouldn’t it be more like “non POSIX-compliant”? That’s how I would understand it, though I’m not a native speaker
This is the way I see it too. Treat “POSIX-compliant” as an adjective and negate it.
-
reinstalling Fish right now
Alright:
> /usr/bin/fish --version fish, version 4.0.1
For whatever reason openSUSE doesn’t ship 4.0.2 despite the fact that it’s in its development repo since months. Oh well, could be worse.
Ask the maintainer to push the update to Factory.
-
I HIGHLY recommend using bash and zsh as posix-compliant shells at the beginning
Why? All the usual shell scripts don’t use Fish as interpreter.
No posix compliance is a headache. (Where the hell are my aliases!?)
And also most scripts need to be executed in a posix-compliant shell. -
No posix compliance is a headache. (Where the hell are my aliases!?)
And also most scripts need to be executed in a posix-compliant shell.why use aliases (they exist in fish) when you can use abbreviations and your history isnt determined by whatever you set your aliases up as? If you change an alias, your history does not reflect that. If you use abbreviations, your history is perfectly usable
-
why use aliases (they exist in fish) when you can use abbreviations and your history isnt determined by whatever you set your aliases up as? If you change an alias, your history does not reflect that. If you use abbreviations, your history is perfectly usable
The fuck is an abbreviation? Is it a knock-off alias?
-
The fuck is an abbreviation? Is it a knock-off alias?
basically a text expansion. I have g=git, so when I type “g push” after I hit space after g, it expands it to git in the terminal as if i just typed out git myself. My history doesnt show “g push” it shows “git push” before I push enter
-
fish, the friendly interactive shell, is a commandline shell intended to be interactive and user-friendly.
fish is intentionally not fully POSIX compliant, it aims at addressing POSIX inconsistencies (as perceived by the creators) with a simplified or a different syntax. This means that even simple POSIX compliant scripts may require some significant adaptation or even full rewriting to run with fish.
POSIX shell sucks ass. Just because there are many worse options doesn’t make it any better.
-
fish, the friendly interactive shell, is a commandline shell intended to be interactive and user-friendly.
fish is intentionally not fully POSIX compliant, it aims at addressing POSIX inconsistencies (as perceived by the creators) with a simplified or a different syntax. This means that even simple POSIX compliant scripts may require some significant adaptation or even full rewriting to run with fish.
#!/bin/sh
#!/bin/bash
? -
POSIX shell sucks ass. Just because there are many worse options doesn’t make it any better.
I love my bash-isms.
-
I just switched to fish for the pretty colors and quality of life features. Anything I should keep in mind while using it as a Linux noob? I don’t even know who POSIX is lol.
zsh with oh-my-zsh addon can do the same amount of pretty colours and qol stuff, with the addition of being POSIX compliant. Not that fish is bad or anything, but you don’t want additional troubles with random incompatibility on top of the usual learning curve.
-
Nah, fuck that. I’m using yash.
Chaotic lawful.
-
Then you’re just running bash scripts with bash. You’re not running bash scripts with fish.
-
fish, the friendly interactive shell, is a commandline shell intended to be interactive and user-friendly.
fish is intentionally not fully POSIX compliant, it aims at addressing POSIX inconsistencies (as perceived by the creators) with a simplified or a different syntax. This means that even simple POSIX compliant scripts may require some significant adaptation or even full rewriting to run with fish.
It’s installed on my machine but really don’t know how to make use of it that much. Any tips and tricksters?
-
I’d rather use cash
-
Then you’re just running bash scripts with bash. You’re not running bash scripts with fish.
I think that’s the point of the comment
-
Ask the maintainer to push the update to Factory.
Maybe later
-
basically a text expansion. I have g=git, so when I type “g push” after I hit space after g, it expands it to git in the terminal as if i just typed out git myself. My history doesnt show “g push” it shows “git push” before I push enter
Been using fish for years and did not know this.
-
It’s installed on my machine but really don’t know how to make use of it that much. Any tips and tricksters?
While using the fish shell you can just type ‘help’, and it’ll pull up an offline web page with their manuals and guides. But to be honest, I dont really use fish for anything but the fancy colors and auto-completion lol.
Also fish -
While using the fish shell you can just type ‘help’, and it’ll pull up an offline web page with their manuals and guides. But to be honest, I dont really use fish for anything but the fancy colors and auto-completion lol.
Also fishoh yeah! the autocompletion seems great