2016-07-28 34 views
1

我確定這是本網站上最常遇到的一個最尷尬的問題,但我對linux非常陌生,並且有點不在我的深處。我正在關閉這個tutorial here,並被困在「添加路徑」並驗證步驟。

對於這個教程告訴我使用這個:

export PATH=${PATH}:${DTITK_ROOT}/bin:${DTITK_ROOT}/utilities:${DTITK_ROOT}/scripts 

我已經定義DTITK_ROOT上,具有上述說明幾個問題。

  1. $ {}應該留在DTITK_ROOT的周圍嗎?
  2. 我的DTITK_ROOT是我提取程序的文件的完整路徑(我認爲這是正確的術語),我應該改變它嗎?
  3. 在那種情況下,我爲$ {PATH}寫什麼?我知道我應該用某種東西代替它,但我不知道是什麼。我試過的所有東西都沒有通過驗證步驟。

對不起,如果它看起來像一個愚蠢或真正簡單的問題,但我甚至不知道任何關鍵字谷歌爲了找到如何得到答案。

回答

0
  1. 是的。這是如何訪問存儲在DTITK_ROOT中的路徑。這被稱爲參數擴展。你可以閱讀更多關於它here

  2. 不,不要改變任何東西。此外,與相對路徑相比,更常用的術語是絕對路徑。絕對路徑是從根目錄/開始的路徑。相對路徑是您當前工作目錄的路徑。您可以閱讀有關一般路徑的更多信息,以及絕對路徑和相對路徑之間的差異here

  3. 你不用任何東西代替它。參數擴展再次發揮作用,並將被已存儲在路徑變量中的內容替換。所以這個命令實際上是把你的路徑變量,添加一些更多的路徑,然後將它存儲回你的路徑變量。如果您不知道,路徑變量將包含您希望執行的所有可執行文件的路徑,而不輸入完整路徑。 Here是一個很好的討論路徑變量,以及其他環境變量。

+1

你的評論是非常豐富和有益的。它現在按預期工作。 我不能夠感謝你! –

+0

沒問題!祝你的項目好運。 –

0

第一個命令需要路徑

export DTITK_ROOT=mypathonSystem/dtitk

第二個命令

export PATH=${PATH}:${DTITK_ROOT}/bin:${DTITK_ROOT}/utilities:${DTITK_ROOT} /腳本

照顧我也不太清楚,但我認爲第二個命令應該運行的是因爲你定義DDTITK_ROOT在第一個命令 $ {PATH}讓系統知道可以在哪裏找到資源

你有沒有嘗試運行第一個命令,然後運行第二個命令未修改?

+0

運行未經修改的伎倆,謝謝。 –

0
  1. $ {}應該留在DTITK_ROOT的周圍嗎?

是的。對於shell而言,在這裏並不重要,因爲$ DTITK_ROOT後面的/就足以表示我們已經到達變量名的末尾,但是在$ {DTITK_ROOT}中明確指出變量名是DTITK_ROOT,而不是那些加上任何字符可能在它的結尾。其他允許你編寫shell命令來執行的程序(例如make)可能不那麼容易 - make會認爲$ DTITK_ROOT將是$ D的值,後面是字面字符TITK_ROOT。因此,習慣於圍繞長於單個字符的shell變量名來使用{}是一種好習慣。

  1. 我的DTITK_ROOT是我提取程序的文件的完整路徑,我應該改變它嗎?

如果您的意思是您提取程序的目錄的完整路徑,那麼您應該使用這個。我假設你有類似「export DTITK_ROOT =/Users/huiz/unix/dtitk」(每個例子)。

您可以執行的操作是通過執行"echo ${DTITK_ROOT}"來驗證DTITK_ROOT的值是否可用,以驗證它是否具有適當的值。

相關問題