[[ ]]except right of
!=. Use a loop.
[[ current.log -nt backup/*.log ]] && echo "This is the latest file"
newerThanAll=true for log in backup/*.log do current.log -nt "$log" ]] || newerThanAll=false [[ done [[ "$newerThanAll" = "true" ]] && echo "This is the latest file"
[[ ]] will not filename expand, and will be treated literally (or as patterns on the right-hand side of
The problematic code is equivalent to
[[ current.log -nt 'backup/*.png' ], and will look for a file with a literal asterisk in the name.
Instead, you can iterate over the filenames you want with a loop, and apply your condition to each filename.
ShellCheck is a static analysis tool for shell scripts. This page is part of its documentation.