this post was submitted on 26 Aug 2023
3 points (100.0% liked)

Shell Scripting

1367 readers
1 users here now

From Ash, Bash and Csh to Xonsh, Ysh and Zsh; all shell languages are welcome here!

Rules:
  1. Follow Lemmy rules!
  2. Posts must relate to shell scripting. (See bottom of sidebar for more information.)
  3. Only make helpful replies to questions. This is not the place for low effort joke answers.
  4. No discussion about piracy or hacking.
  5. If you find a solution to your problem by other means, please take your time to write down the steps you used to solve your problem in the original post. You can potentially help others having the same problem!
  6. These rules will change as the community grows.

Keep posts about shell scripting! Here are some guidelines to help:


In general, if your submission text is primarily shell code, then it is welcome here!

founded 2 years ago
MODERATORS
top 4 comments
sorted by: hot top controversial new old
[–] [email protected] 7 points 1 year ago

2nd one, feels natural as a programmer.

[–] gamma 4 points 1 year ago* (last edited 1 year ago) (1 children)

I typically use find "$HOME/docs", but with a few caveats:

  • In Zsh or Fish, the quotes are unnecessary: find $HOME/docs
  • If I'm using anything potentially destructive: mv "${HOME:?}/bin" ...
  • Of course, if it's followed by a valid identifier character, I'll add braces: "${basename}_$num.txt"
  • I'm pretty inconsistent when globbing: "$HOME"/docs/* or "$HOME/docs/"* are common for me.
  • I don't use "${HOME}" unless I actually need the braces. The reason? I write more Zsh than anything, and the braces are even less necessary in Zsh: $#array[3] actually gets the length of the third element of the array, rather than substituting the number of arguments, then the string 'array[3]'
[–] txtsd 2 points 1 year ago

I always brace my variables.

While I also use ZSH, I write most of my scripts in bash because they more often than not need to run on a CI/CD server.

[–] Reptorian 2 points 1 year ago

Depends. I use G'MIC (Interpretative language for image processing largely inspired by bash) in CLI.

ig "C:\Users\User..."

If I need something with '$' in CLI, I'd be using $_path_rc\something_something. Sometimes with "" in case of spaces.

Other than that, I would be just running my own coded command in most case.