
我正在遵循有關如何查找程式的依賴庫的教程,其解釋如下:
whereis firefox
顯示安裝它的資料夾,取得二進位檔案的完整路徑,以及ldd /usr/bin/firefox
將其作為 ldd 命令的參數。
本教學也使用 Firefox 作為範例,因此我確定要重新建立它,但是當我輸入:
答案1
可執行檔firefox
是系統上的 shell 腳本。
一些應用程式使用包裝腳本來設定應用程式的執行環境,可能是為了更好地與當前的 Unix 風格集成,或者提供運行應用程式的替代方法(新的命令列選項集等)。 。有時,包裝器腳本用於根據呼叫腳本的方式選擇正確的實際二進位來運行。
例如,MPI(「訊息傳遞介面」)C 編譯器只不過是一個包裝腳本cc
(或它設定使用的任何編譯器),確保 MPI 頭位於搜尋路徑中並且 MPI 庫已連結在編譯的時候。
看一下這個腳本,看看它在什麼情況下調用什麼二進位。
答案2
$ file $(which firefox)
/usr/bin/firefox: Bourne-Again shell script, ASCII text executable
$ tail $(which firefox)
done
# Run the browser
debugging=0
if [ $debugging = 1 ]
then
echo $MOZ_LAUNCHER $script_args $MOZ_PROGRAM "$@"
fi
exec $MOZ_LAUNCHER $script_args $MOZ_PROGRAM "$@"