複数のファイルへのシンボリックリンクを作成する方法を知りたいですか? Bashスクリプトを書くのと同じです。
デフォルトでは、ファイルはgstreamerライブラリであり、ライブラリはそのようなパターンです。例は次のとおりです。
libgstadaptivedemux-1.0.so should link to libgstadaptivedemux-1.0.so.0
libgstadaptivedemux-1.0.so.0 should link to libgstadaptivedemux-1.0.so.0.1806.0
libgstadaptivedemux-1.0.so.0.1404.0 (the old library)
libgstadaptivedemux-1.0.so.0.1806.0 (the new library)
私は次のことを試しています
ln -sf libgst*.0 libgst*
ln -sf libgst*.0.1806.0 libgst*.0
しかし、libgst***.0.1806.0がディレクトリではないと常に失敗します。私はどこで間違っていますか?
ありがとう
ベストアンサー1
ln -sf libgst*.0 libgst*
(あなたの場合)に拡張されます。
ln -sf libgstadaptivedemux-1.0.so.0 libgstadaptivedemux-1.0.so.0.1404.0 libgstadaptivedemux-1.0.so.0.1806.0 libgstadaptivedemux-1.0.so libgstadaptivedemux-1.0.so.0 libgstadaptivedemux-1.0.so.0.1404.0 libgstadaptivedemux-1.0.so.0.1806.0
これは、4つのファイルすべてと一致するlibgst*.0
ためです。libgstadaptivedemux-1.0.so.0
libgstadaptivedemux-1.0.so.0.1404.0
libgstadaptivedemux-1.0.so.0.1806.0
libgst*
このような複数の引数の場合、ln
最後の引数はディレクトリであると予想されます。この変形の目的はln
以下の通りである。Nパラメータはどこにありますか?N> 2は、すべての名前ファイルへのリンクを生成することです(非オプションパラメータ1からN-1)与えられたディレクトリ(パラメータ)N)。
いつも仮定しよう変える既存のリンク、新しいリンクは作成されず、最初のコマンドは次のように置き換えることができます。
ln -sf libgst*.so.0 libgst*.so
(ただし、この2つのリンクが存在する場合にはこのコマンドは必要ありません。)
2番目のコマンドは次のように置き換える必要があります。
ldconfig
これにより、リンクとライブラリキャッシュ(動的リンカが実際に使用しているもの)が正しく更新されます。