→ liwmewmew:我有找到 好像是用 . 這個來include 11/19 11:53
→ liwmewmew:但是我把lib跟main這兩隻script都放在同個資料夾 11/19 11:54
→ liwmewmew:然後 讓main裡面加上一句 . lib 11/19 11:54
→ liwmewmew:跑main,系統跟我說找不到lib 囧 不是會以main的資料夾 11/19 11:54
→ liwmewmew:利用相對路徑 直接去include到lib嗎? 11/19 11:55
→ jokester:.會在"執行main的資料夾"找, 不是"含有main的資料夾" 11/19 12:29
→ liwmewmew:對對 我已經把自己cd到main的資料夾了,然後輸入main.sh 11/19 12:30
→ liwmewmew:但是系統卻說找不到lib,但lib就在main的旁邊的說@@" 11/19 12:31
→ liwmewmew:而且這路徑問題,是否未來可能會出事阿? 謝謝 11/19 12:31
→ jokester:可以po在gist之類地方看一下嗎? 11/19 12:32
→ kdjf:main的資料夾不在$PATH裡,所以要用relative path => . ./lib 11/19 13:35
→ kdjf:又是一個bash 和posix sh 不一樣的地方 11/19 13:36
j大 我沒用過gist 不好意思 沒弄上來@@"
不過剛試一試 應該如k大說的那樣
我在main裡面 include那隻lib時
如果打這樣
. lib
會找不到lib
但是打
. ./lib
就可以找到了
即使我執行main之前
已經cd進到main的資料夾裡了(lib也在這個資料夾)
似乎依然必須打成
. ./lib 才找得到唉
我一直以為不打也會默認當前資料夾不是嗎?
謝謝 兩位
※ 編輯: liwmewmew 來自: 61.222.86.79 (11/19 13:46)
推 jokester:! 我一直source絕對路徑所以沒發現這個區別 11/19 13:55
→ jokester:笨了orz 多謝指教 11/19 13:56
→ kdjf:unix現在都不把當前資料夾放在PATH裡了,以免動不動執行到毒 11/20 09:55