[PATCH V2] tools/perf/tests: Fix string substitutions in build id test
    David Laight 
    David.Laight at ACULAB.COM
       
    Thu Jan 19 23:02:53 AEDT 2023
    
    
  
From: Athira Rajeev
> Sent: 19 January 2023 11:31
...
> diff --git a/tools/perf/tests/shell/buildid.sh b/tools/perf/tests/shell/buildid.sh
> index aaf851108ca3..43e43e131be7 100755
> --- a/tools/perf/tests/shell/buildid.sh
> +++ b/tools/perf/tests/shell/buildid.sh
> @@ -66,7 +66,7 @@ check()
>  	esac
>  	echo "build id: ${id}"
> 
> -	link=${build_id_dir}/.build-id/${id:0:2}/${id:2}
> +	link=${build_id_dir}/.build-id/$(echo ${id}|cut -c 1-2)/$(echo ${id}|cut -c 3-)
>  	echo "link: ${link}"
That is horrid, why not just use valid shell substitutions, eg:
	id_file=${id#??}
	id_dir=${id%$id_file}
	link=$build_id_dir/.build-id/$id_dir/$id_file
...
> -	check ${@: -1}
> +	check $last
Since this is the end of the shell function you can avoid the eval
by doing:
	shift $(($# - 1))
	check $1
or maybe:
	args="$*"
	check ${args##* }
Those should be ok in all posix shells.
	David
-
Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK
Registration No: 1397386 (Wales)
    
    
More information about the Linuxppc-dev
mailing list