通常, ls -la会把这个给我,但我猜CentOS是不同的。 我需要validation是否存在符号链接。
如果你的意思是“链接是否指向一个文件?”,(我认为你这样做是因为:
if [[ -e "$file" ]]; then echo it is there; fi
如果只想testing文件是否是符号链接,则比:
if [[ -h "$file" ]]; then echo it is a link; fi
这是针对Bash量身定制的,而不是最便携的方式。 而作为一个小问题,在使用双括号语法时,不需要引号。
如果你想search中断链接比使用find -L . -type l find -L . -type l
如果你只想让ls再次使用不同的颜色来处理断开的链接,那么去eval $(dircolors)
如果你正在寻找一个你已经知道可以使用的文件。 另外文件可以用来识别文件对象的types:
[akula@jasonlawer ~]$ file /var/www/html/2001914 /var/www/html/2001914: symbolic link to `/tickets/rhev/2001914.zip_FILES/'
如果它是作为包的一部分提供的,尽pipe最简单的事情就是使用RPM来validation包的使用
[akula@jasonlawer ~]$ rpm -V httpd
您可以使用
if [[ -f `readlink filename` ]]; then .... fi
readlink命令返回符号链接的目标。 -ftesting该文件是否存在。 要小心“字符,不是”或“。它可以帮助你执行内部的bash命令,就像在一个SQL系统中的内部查询。