From: Carlo Arenas Date: Sat, 21 Dec 2019 20:45:43 GMT Subject: Re: [PATCH] test: switch to POSIX compliance symlink check Message-ID: In-Reply-To: <20191221164057.24616-1-congdanhqx@gmail.com> On Sat, Dec 21, 2019 at 8:50 AM Doan Tran Cong Danh wrote: > > POSIX doesn't specify `-L' flag for test(1), POSIX specify `-h' for > checking symlink instead. https://pubs.opengroup.org/onlinepubs/9699919799/utilities/test.html seems to indicate both are valid and equivalent > While most shells and test(1) implementation provides both `-L' and > `-h' for checking symlink, > OpenBSD and NetBSD says we shouldn't rely on its existence. [1] and macOS (from FreeBSD[1]) says the exact opposite : -h file True if file exists and is a symbolic link. This operator is retained for compatibility with previous versions of this program. Do not rely on its existence; use -L instead. agree it would be a good idea to use only one for consistency though, but it might be in that case a good idea to add it as a "recommendation" by adding this rule in t/check-non-portable-shell.pl or something like that IMHO Carlo [1] https://www.freebsd.org/cgi/man.cgi?test