我有(STDIN)刪除(STDIN)=標籤在BASH
我寫以下bash腳本來計算格式化準備用於複印的字符串,並以大寫輸出它的SHA1哈希一個問題以plist文件爲例。
這裏是腳本: -
#!/bin/bash
echo 'Enter String :-';
read temp_var1; #Read string
hash=$(echo -n $temp_var1 | openssl sha1); #Copy hash into variable $hash
uphash=$(echo $hash | tr '[:lower:]' '[:upper:]';); #Convert hash to Upper-case
echo 'Below is the UPPERCASE SHA1 Hash of your string';
echo ' </yourHash>'$uphash'</yourHash>'; #Echo formatted string
這整個腳本工作分得很開的一個關鍵問題。 輸出不是我想要的。 例如具有
Hello, World!
輸入我想要得到以下的輸出: -
Below is the UPPERCASE SHA1 Hash of your string
</yourHash>0A0A9F2A6772942557AB5355D76AF442F8F65E01</yourHash>
,而不是我所得到的是這樣的: -
Below is the UPPERCASE SHA1 Hash of your string
</yourHash>(STDIN)= 0A0A9F2A6772942557AB5355D76AF442F8F65E01</yourHash>
我的問題是。我如何刪除這個(STDIN)=標籤和它後面的空格?
非常感謝您提供任何幫助。
MIRAGE
可能會矯枉過正,但是當使用二進制標誌時,它不會輸出「(STDIN)」部分。之後您將不得不將其轉換爲十六進制。如: 'echo -n $ temp_var1 | openssl sha1 -binary | xxd -p「 – Timmah