That's because the "ls" is executed once, as can be seen with:
ls -l ~/Notes/ | for i in "$@"
do
echo $i
cat
done
Output for two cases:
username@hostname$ ./one mov
mov
total 12
-rw-rw-r-- 1 username username 24 Dec 4 17:03 appliances
-rw-rw-r-- 1 username username 18 Dec 4 17:02 movies
-rw-rw-r-- 1 username username 25 Dec 4 17:02 python
username@hostname$ ./one mov appl
mov
total 12
-rw-rw-r-- 1 username username 24 Dec 4 17:03 appliances
-rw-rw-r-- 1 username username 18 Dec 4 17:02 movies
-rw-rw-r-- 1 username username 25 Dec 4 17:02 python
appl
username@hostname$
Turn it inside out and you're golden:
for i in "$@"
do
ls -l ~/Notes/ | grep $i
done
username@hostname$ ./one mov
-rw-rw-r-- 1 username username 18 Dec 4 17:02 movies
username@hostname$ ./one mov appl
-rw-rw-r-- 1 username username 18 Dec 4 17:02 movies
-rw-rw-r-- 1 username username 24 Dec 4 17:03 appliances
username@hostname$
--
Michael F. Stemper
This post contains greater than 95% post-consumer bytes by weight.