Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we need
BASH_SOURCE
here? Why not just$0
?Also, why the output redirection?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Well both
BASH_SOURCE
and$0
would serve the same purpose here just using theBASH_SOURCE
in bash script is better even if it is sourcedAnd for output redirection, sometimes cd prints something to stdout, in the case where a CDPATH is set and even an error can be printed. So to be safe, there is the stdout redirection to dev null and stderr to stdout
To cover CDPATH weird cases, we can even follow to
unset CDPATH
at the begining and not use this redirection but still it will be changing user's configThere was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think it is better to not depend on bash features unnecessarily, because then a conversion to a non-Bash script becomes easier. Currently
pipefail
is the only bashism that I am aware of, and even that may not be necessary.During normal operation? That's very unexpected.
If an error is printed, presumably the return code is non-zero,
BASE_DIR
is unset and everything fails. We want to see the error message ofcd
in that case.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ohkay, right. we can depend on pipefail I can ignore the output redirection
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done