我正在编写一个 bash shell 脚本(适用于 RH 和 Solaris),它使用 openssl 在同一目录中创建指向证书的哈希符号链接(symbolic link)。我有大约 130 个证书,当添加新证书时,我希望脚本仅为新证书创建符号链接(symbolic link)。我可能不得不求助于删除所有符号链接(symbolic link)并重新创建它们,但是如果有一种不那么困难的方法可以做到这一点;这比全部删除并重新创建要好。
我知道如何找到所有带符号链接(symbolic link)的文件:
find . -lname '*.cer'
或
find . -type l -printf '%p -> %l\n'
但我不确定如何在 for 或其他循环中否定或找到此结果的倒数。我想查找当前目录中缺少符号链接(symbolic link)的所有文件。
谢谢!
最佳答案
$ ls -srlt
example1.png
example.png -> ../example.png
$ find . -type f -print
./example1.png
$ find . ! -type f -print
.
./example.png
关于bash - 如何检查文件是否有符号链接(symbolic link),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35683324/