叫我有一個文件夾結構,看起來像這樣:
link.sh
dist/MyApp-3.0.0/script.sh
dist/MyApp-3.0.0/lib/*.jar
的link.sh
是一個符號鏈接KornShell(KSH)腳本script.sh
。在shell腳本,我要調用一個Java程序使用下面的命令:
java -cp lib/*
當我嘗試從符號鏈接啓動應用程序,我得到ClassNotFound
因爲相對路徑是由連桿基座目錄解析(這個是正常的)。
裏面的shell腳本,我怎麼能拿到劇本(<...>/dist/MyApp-3.0.0/
)的完整路徑?這將讓我修改我的Java調用:
java -cp ${SCRIPT_DIR}/lib/*
您不能以100%的可靠性從shell代碼中獲取「正在運行的腳本的完整路徑」。然而,你可以接近。 – Sorpigal