7 points

2nd one, feels natural as a programmer.

permalink
report
reply
4 points
*

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]'
permalink
report
reply
2 points

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.

permalink
report
parent
reply
2 points

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.

permalink
report
reply

Shell Scripting

!shell@programming.dev

Create post

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:

  • Allowed: Release Announcement of a command-line program designed for scripted use (e.g. bash, bats, awk, jq, coreutils/moreutils)
  • Allowed: Tutorials on using shell languages or supplementary tools designed for scripted use
  • Allowed: Code review/help requests for shell languages or supplementary tools designed for scripted use
  • NOT Allowed: Announcement of a CLI or TUI program that is not designed for scripted use (Yes, your fancy Zsh plugin which pretty-prints the date and time using only builtins is very cool, but unless you actually want to discuss the code itself, please check out !commandline instead!)
  • NOT Allowed: Domain-specific tutorials that do not involve shell scripting as a core component (e.g. docker-compose, ansible, nix). If you really love one of these, I’m sure there’s a community out there ready to talk about them!
  • NOT Allowed: Code review requests for non-shell programming languages and configuration languages (e.g. Python, Yaml)

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

Community stats

  • 1

    Monthly active users

  • 39

    Posts

  • 129

    Comments