下面是判断目录是否为链接目录的脚本,有几点不明白
发表于 : 2014-05-14 18:23
下面这个脚本好像不能实现辨别链接目录获文件,因为我在 /home/xxx下创建了2个链接文件
lrwxrwxrwx. 1 xxx xxx 1 May 14 18:08 b -> a
-rwxrw-r--. 1 xxx xxx 445 May 14 17:46 broken-link.sh
-rwxrw-r--. 3 xxx xxx 378 May 14 15:42 ceshi
lrwxrwxrwx. 1 xxx xxx 9 May 14 18:14 ceshi1 -> test_test
---------------------------------------------------------------------------------
[xxx@localhost ~]$ ./broken-link.sh /home/xxx
hello
over
---------------------------------------------------------------------------------脚本如下
#!/bin/bash
[ $# -eq 0 ] && directorys=$@
linkchk () {
for element in $1/*; do
[ -h "$element" -a ! -e "$element" ] && echo \"$element\"---- -a ! -e 这几个参数是什么用法,不明白
[ -d "$element" ] && linkchk $element
done
}
########################
echo "hello"
for directory in $directorys;do
if [ -d $directory ]
then linkchk $directory
else
echo "$directory is not a directory"
echo "Usage: $0 dir1 dir2 ..."
fi
done
echo "over"
exit 0
lrwxrwxrwx. 1 xxx xxx 1 May 14 18:08 b -> a
-rwxrw-r--. 1 xxx xxx 445 May 14 17:46 broken-link.sh
-rwxrw-r--. 3 xxx xxx 378 May 14 15:42 ceshi
lrwxrwxrwx. 1 xxx xxx 9 May 14 18:14 ceshi1 -> test_test
---------------------------------------------------------------------------------
[xxx@localhost ~]$ ./broken-link.sh /home/xxx
hello
over
---------------------------------------------------------------------------------脚本如下
#!/bin/bash
[ $# -eq 0 ] && directorys=$@
linkchk () {
for element in $1/*; do
[ -h "$element" -a ! -e "$element" ] && echo \"$element\"---- -a ! -e 这几个参数是什么用法,不明白
[ -d "$element" ] && linkchk $element
done
}
########################
echo "hello"
for directory in $directorys;do
if [ -d $directory ]
then linkchk $directory
else
echo "$directory is not a directory"
echo "Usage: $0 dir1 dir2 ..."
fi
done
echo "over"
exit 0