我正在尝试对./node_modules/.bin/
文件夹中的所有 shebang 脚本进行符号链接,并且我已经尝试过以下操作:
ln -s ./node_modules/.bin/* ./ && ls -l ./
但它似乎不起作用。
答案1
我思考我知道你在问什么,但我不想做出最终被证明是错误的假设。所以它们在这里——请酌情更正它们。
- 我假设其中的每个文件
./node_modules/.bin/
都是 Shebang 文件。不需要检查文件扩展名,更不用说打开每个文件并检查它是否以 shebang 开头。
考虑到这个假设,我对你的问题的第一个尝试将是像下面这样的 shell 循环:
for SCRIPT in ./node_modules/.bin/* ; do
BN=$(basename "$SCRIPT")
ln -s "$SCRIPT" "$BN"
done
希望这对您有用,请注意一两个拼写错误。
编辑:感谢您接受我的回答,但用户 Stéphane Chazelas 的批评很受欢迎。虽然我成功地在充满脚本的目录(来自空目录)上测试了循环,但他正确地指出,它在其他情况下可能会失败,并且循环实际上并没有在简单的情况下得到改进ln -s ./node_modules/.bin/* ./