我有一个脚本run.sh,我创建了一些符号链接如pf1、pf2等。
我希望以pf开头的任何内容都映射到这个脚本。有没有办法创建一个通配符符号链接,比如"pf*",这样将来就不必为pf11、pf12等创建符号链接了?
如果您的系统支持Bash(大多数系统都支持),您可以像这样执行以下操作 -
bash -c "ln -s sourcedir/pf* targetdir/"
不支持符号链接解析是由内核处理的,而通配符扩展是特定于shell的。
如果您在符号链接中存储pf*
,则内核将寻找名为pf*
的文件。您可以理论上readlink
它并让您的shell扩展读取模式,但这样做与其存储模式在常规文件中不如。
*
通配符将不会被扩展。其他扩展将起作用。使用echo
自行检查:$ echo asdf*
asdf*
$ echo asdf{1,2,3}
asdf1 asdf2 asdf3
for i in {1..1000}; do ln -s ./run.sh ./pf$i; done
- John1024