ファイル引数のパーミッションを読み取るのに問題があります。隠しファイルと関係があるようですが、理由はわかりません。
現在のコード:
#!/bin/bash
if [ $# = 0 ]
then
echo "Usage ./checkPerm filename [filename2 ... filenameN]"
exit 0
fi
for file in $@
do
ls -l | grep $file | cut -f1 -d' '
# Do Something
done
各入力のアクセス許可を取得できますが、隠しファイルがループを介して実行されると、すべてのファイルのアクセス許可が再出力されます。
-bash-4.1$ ll test*
-rw-r--r-- 1 user joe 0 Nov 11 19:07 test1
-r-xr-xr-x 1 user joe 0 Nov 11 19:07 test2*
-r--r----- 1 user joe 0 Nov 11 19:07 test3
-rwxr-x--- 1 user joe 0 Nov 11 19:07 test4*
-bash-4.1$ ./checkPerm test*
-rw-r--r--
-rw-r--r--
-r-xr-xr-x
-r--r-----
-rwxr-x---
-r--r-----
-rw-r--r--
-r-xr-xr-x
-r--r-----
-rwxr-x---
-bash-4.1$
ループで何が起こっているのですか?