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

これが役に立つことを願っています。 1つか2つのタイプミスを指摘してください。

編集:答えを受け入れてくれてありがとう。しかし、Stéphane Chazelasユーザーの批判は大歓迎です。スクリプトでいっぱいのディレクトリ(空のディレクトリ)でループを正常にテストしましたが、彼は他の場合は失敗する可能性があり、単純な場合はループが実際には改善されないことを正しく指摘しました。ln -s ./node_modules/.bin/* ./

おすすめ記事