![node_modules/.bin의 모든 shebang을 현재 폴더에 Symlink로 연결합니다.](https://linux55.com/image/145831/node_modules%2F.bin%EC%9D%98%20%EB%AA%A8%EB%93%A0%20shebang%EC%9D%84%20%ED%98%84%EC%9E%AC%20%ED%8F%B4%EB%8D%94%EC%97%90%20Symlink%EB%A1%9C%20%EC%97%B0%EA%B2%B0%ED%95%A9%EB%8B%88%EB%8B%A4..png)
폴더의 모든 shebang 스크립트를 심볼릭 링크 하려고 하며 ./node_modules/.bin/
다음을 시도했습니다.
ln -s ./node_modules/.bin/* ./ && ls -l ./
하지만 작동하지 않는 것 같습니다.
답변1
나생각하다나는 당신이 무엇을 요구하는지 알고 있지만, 잘못된 것으로 판명되는 가정을 하고 싶지 않습니다. 여기 있습니다. 적절하게 수정해 주세요.
- 나는 거기에 있는 모든 파일이
./node_modules/.bin/
Shebang 파일이라고 가정합니다. 모든 파일을 열고 shebang으로 시작하는지 확인하는 것은 물론, 파일 확장자를 확인할 필요도 없습니다.
이 가정을 염두에 두고 문제에 대한 첫 번째 시도는 다음과 같은 쉘 루프가 될 것입니다.
for SCRIPT in ./node_modules/.bin/* ; do
BN=$(basename "$SCRIPT")
ln -s "$SCRIPT" "$BN"
done
이 내용이 도움이 되기를 바랍니다. 한두 가지 오타를 지적해 주시기 바랍니다.
편집: 답변을 수락해 주셔서 감사합니다. 하지만 Stéphane Chazelas 사용자의 비판은 환영합니다. 스크립트로 가득 찬 디렉토리(빈 디렉토리)에서 루프를 성공적으로 테스트했지만 그는 다른 경우에는 실패할 수 있으며 간단한 경우에는 루프가 실제로 개선되지 않는다는 점을 올바르게 지적했습니다.ln -s ./node_modules/.bin/* ./