I have a confession to make: Unless shell script is absolutely required, I just use Python for all my automation needs.
Regex
Edit: to everyone who responded, I use regex infrequently enough that the knowledge never really crystalizes. By the time I need it for this one thing again, I haven’t touched it in like a year.
You get used to it, I don’t even see the code—I just see: group… pattern… read-ahead…
Most of regex is pretty basic and easy to learn, it’s the look ahead and look behind that are the killers imo
(?=)
for positive lookahead and(?!)
for negative lookahead. Stick a<
in the middle for lookbehind.
You always forget regex syntax?
I’ve always found it simple to understand and remember. Even over many years and decades, I’ve never had issues reading or writing simple regex syntax (excluding the flags and shorthands) even after long regex breaks.
It’s not about the syntax itself, it’s about which syntax to use. There are different ones and remembering which one is for which language is tough.
Don’t let the gatekeepers keep you out. This site helps.
Chatgpt helps even more
I know that LLMs are probably very helpful for people who are just getting started, but you will never understand it if you can’t grasp the fundamentals. Don’t let “AI” make you lazy. If you do use LLMs make sure you understand the output it’s giving you enough to replicate it yourself.
This may not be applicable to you specifically, but I think this is nice info to have here for others.
I still have to look up the exact syntax of ifs and whiles.
I’ve coded in bash for a while
Clearly you don’t write enough bash scripts.
Or scripts for basically any other variant of the Bourne shell. They are, for the most part, very cross compatible.
That’s the only reason I’ve ever done much of anything in shell script. As a network administrator I’ve worked many network appliances running on some flavor of Unix and the one language I can count on to be always available is bash. It has been well worth knowing for just that reason.
PSA: Run ShellCheck on your shell scripts. It turns up a shocking number of programming errors. https://www.shellcheck.net/
Je comprend tellement! Je répond en français pour ma première réponse sur Lemmy juste pour voir comment ça va être géré!
Ever since I switched to Fish Shell, I’ve had no issues remembering anything. Ported my entire catalogue of custom scripts over to fish and everything became much cleaner. More legible, and less code to accomplish the same things. Easier argument parsing, control structures, everything. Much less error prone IMO.
Highly recommend it. It’s obviously not POSIX or anything, but I find that the cost of installing fish on every machine I own is lower than maintaining POSIX-compliant scripts.
Enjoy your scripting!
If you’re going to write scripts that requires installing software, might as well use something like python though? Most Linux distros ship also ship with python installed