2012-10-12 49 views
0

我有這個殼牌傳遞密鑰庫路徑參數的jarsigner

KEY_STORE_PATH=/home/userr/mykeystore 

jarsigner -verbose -sigalg MD5withRSA -digestalg SHA1 -keystore "$KEY_STORE_PATH" bin/PName-release-unsigned.apk alias_name 

,並沒有工作,這個命令是沒有簽名apk文件後...

但是,當我做到這一點作品就好

jarsigner -verbose -sigalg MD5withRSA -digestalg SHA1 -keystore /home/userr/mykeystore bin/PName-release-unsigned.apk alias_name 

編輯: 其實我做的是以下

echo ` echo "pass" | jarsigner -verbose -sigalg MD5withRSA -digestalg SHA1 -keystore "$KEY_STORE_PATH" bin/PName-release-unsigned.apk alias_name` 

不,我可以猜測是什麼問題,但是,有這種情況的解決方案嗎?

EDIT 2

我簡短的測試

在外殼

# asd=123 
# echo `echo $asd` 
# 123 

其打印123正確的,所以我認爲別的東西是問題

+1

你是從同一個shell會話或腳本調用兩行嗎? – choroba

+0

@choroba很好的問題我想我意識到這個問題,看我的編輯 – Lukap

+0

嘗試以下內容:'echo \'echo jarsigner -verbose -sigalg MD5withRSA -digestalg SHA1 -keystore「$ KEY_STORE_PATH」bin/PName-release-unsigned.apk alias_name \''。重點是看看變量是否被替換(如它應該)。另外,請檢查是否有可能的錯字。最後,你會得到什麼錯誤? – January

回答

0

如果你從內部調用的jarsigner一個子外殼/另一個腳本,你應該導出你的環境變量:

export KEY_STORE_PATH=/home/userr/mykeystore 
+0

這不適用於我:( – Lukap