node_modules/.bin의 모든 shebang을 현재 폴더에 Symlink로 연결합니다.

node_modules/.bin의 모든 shebang을 현재 폴더에 Symlink로 연결합니다.

폴더의 모든 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/* ./

관련 정보