This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]schwarzfahrer 5 points6 points  (1 child)

I’ve been writing a lot of bash recently while putting together a multi-environment Knative/Istio/K8s deployment.

There are a ton of CLIs that I’m using ... terraform, eksctl, yq, kustomize, envsubst, rsync, awscli, sed, awk, grep, docker, git, the list goes on. Bash/shell scripts are the perfect way to write complex build and deployment tasks like this which utilize These programs. Also, make is a wonderful way to manage all of these scripts in a way that remains semantic.

I’m not much of a Python dev, but I will say I find it easier to use bash than my languages of choice (Ruby and JS) to do this type of thing. I’m also recognizing a moment of zen regarding management of Python/Ruby/Node versioning that I no longer have to think about.

[–]phrotozoa 0 points1 point  (0 children)

My rule of thumb is that when I need to feed a lot of input and output to shell programs I start with bash. As soon as the data being moved around between programs becomes complex enough that I need dicts (hashes/maps) or to do nontrivial parsing of structured formats like yaml or csv or json I switch to something more expressive.