Hi,
On 2024-04-17 13:55:31 +0200, Santiago Vila wrote:
> The problem, more than lack of quoting, is that there is no specification
> anywhere about what should be allowed and what should not.
>
> But we are not late to begin such specification.
> Here is my current plan:
>
> --- a/share/profile
> +++ b/share/profile
> @@ -25,7 +25,7 @@ if [ "${PS1-}" ]; then
> fi
> if [ -d /etc/profile.d ]; then
> - for i in /etc/profile.d/*.sh; do
> + for i in $(run-parts --list --regex '^[a-zA-Z0-9._-]+.sh$'
> /etc/profile.d); do
> if [ -r $i ]; then
> . $i
> fi
This is wrong in multiple ways:
* It would now include "hidden" files (i.e. with a name starting
with a "."). And I think that filenames starting with "-" should
also be ignored.
* It would include the .csh files, such as "gawk.csh".
So I think that the --regex argument should be
'^[a-zA-Z0-9_][a-zA-Z0-9._-]*\.sh$'
Regards,
--
Vincent Lefèvre <[email protected]> - Web: <https://www.vinc17.net/>
100% accessible validated (X)HTML - Blog: <https://www.vinc17.net/blog/>
Work: CR INRIA - computer arithmetic / AriC project (LIP, ENS-Lyon)