From 8f5a02b23ddb2491c13553cb71276bdd088f63ac Mon Sep 17 00:00:00 2001 From: Eli Schwartz Date: Wed, 13 Feb 2019 01:32:03 -0500 Subject: Don't rely on $0 to determine script names. Programs can freely define the value of argv0 and thus it means nothing. Instead, use the bash-specific variable explicitly designed to safely and accurately reference the name of the currently sourced file. This also fixes the case where simple debugging mechanisms like using "bash -x foo" tried to treat "foo" as the unqualified $0 and therefore broke horribly due to lack of pathnames. Signed-off-by: Eli Schwartz Signed-off-by: Levente Polyak --- rebuildpkgs.in | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'rebuildpkgs.in') diff --git a/rebuildpkgs.in b/rebuildpkgs.in index 4f4f98b..704563c 100644 --- a/rebuildpkgs.in +++ b/rebuildpkgs.in @@ -3,7 +3,7 @@ # # This script rebuilds a list of packages in order # and reports anything that fails -# +# # Due to sudo usage, it is recommended to allow makechrootpkg # to be run with NOPASSWD in your sudoers file # @@ -14,8 +14,8 @@ m4_include(lib/common.sh) if (( $# < 1 )); then - printf 'Usage: %s \n' "$(basename "$0")" - printf ' example: %s ~/chroot readline bash foo bar baz\n' "$(basename "$0")" + printf 'Usage: %s \n' "$(basename "${BASH_SOURCE[0]}")" + printf ' example: %s ~/chroot readline bash foo bar baz\n' "$(basename "${BASH_SOURCE[0]}")" exit 1 fi -- cgit v1.2.3-54-g00ecf