POSIX Shell Programming Challenge - Programming On Unix

Users browsing this thread: 2 Guest(s)
movq
Long time nixers
How about that:

Code:
for i in test/* test/.*
do
    if ! [ -e "$i" ]
    then
        continue
    fi

    fname=${i##*/}
    if [ "$fname" = . ] || [ "$fname" = .. ]
    then
        continue
    fi

    echo "$i"
done

I very vaguely remember that you posted something similar on IRC a while ago, which showed some very unexpected ways to screw this up. 😁

Is it valid to print `test/foo`? Or should it be just `foo`? The latter opens another can of worms.


Messages In This Thread
POSIX Shell Programming Challenge - by mort - 12-04-2021, 10:36 AM
RE: POSIX Shell Programming Challenge - by movq - 12-04-2021, 10:49 AM
RE: POSIX Shell Programming Challenge - by s0kx - 12-04-2021, 11:47 AM
RE: POSIX Shell Programming Challenge - by s0kx - 12-04-2021, 01:31 PM
RE: POSIX Shell Programming Challenge - by jkl - 12-04-2021, 01:34 PM
RE: POSIX Shell Programming Challenge - by sth - 12-04-2021, 01:36 PM
RE: POSIX Shell Programming Challenge - by mort - 12-04-2021, 01:52 PM
RE: POSIX Shell Programming Challenge - by mort - 12-04-2021, 02:35 PM
RE: POSIX Shell Programming Challenge - by movq - 13-04-2021, 03:34 PM
RE: POSIX Shell Programming Challenge - by s0kx - 16-04-2021, 02:50 AM
RE: POSIX Shell Programming Challenge - by s0kx - 01-05-2021, 04:56 AM