[Linux] Perforce sync 時出現 P4PASSWD invalid or unset

[Linux] Perforce sync 時出現 P4PASSWD invalid or unset

之前設定過一台 OpenGrok 機器

原本讓上面的 perforce client 自動去 sync 專案的原始碼,

當時設定時是有登入的狀態,所以沒有問題~

不過在過了一陣子之後,登入的 ticket 過期,

所以 p4 sync 的指令不會成功,而會出現下面的錯誤訊息:

Perforce password (P4PASSWD) invalid or unset.

 

覺得有點奇怪,我有在 shell 裡面設定了下面的環境變數,

裡面也包含了 P4PASSWD,為什麼還會失敗呢?

export P4USER=myuser
export P4PASSWD=mypassword
export P4PORT=p4server:1666
export P4CLIENT=myser_mymachine

 

查了一下,原來 P4PASSWD 裡面要設定的是密碼 MD5 後的大寫結果,

而不是直接把密碼設定在裡面~

 

參考資料:在 Perforce 自動登入,不用輸入密碼的方式

 

要算出密碼的 MD5,可以用類似下面的指令來取得,

或是直接用一些線上網站來算也可以:

testuser@localhost:~$ echo -n "mypassword" | md5sum | tr "a-z" "A-Z"
34819D7BEEABB9260A5C854BC85B3E44  -

 

像上面算出來的 MD5 是 34819D7BEEABB9260A5C854BC85B3E44 (記得要大寫),

把 P4PASSWD 設成這個值,p4 sync 就能在沒有登入的狀態下成功囉~

export P4USER=myuser
export P4PASSWD=34819D7BEEABB9260A5C854BC85B3E44
export P4PORT=p4server:1666
export P4CLIENT=myser_mymachine
(本頁面已被瀏覽過 233 次)

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料