2009-10-12 46 views
0

我在寫一個VMWare ESX自動生成腳本,我正在倒在最後一個障礙,可能是因爲我真的不擅長編寫腳本。echo在一個bash腳本中改變'--md5'爲'?-md5'

我需要安全的Grub,所以在我的腳本中我有一個喜歡的說法;

echo "password --md5 password-converted-to-md5" >> /boot/grub/grub.conf 

不幸的是,在這個文件中有以下內容:

 
password ?-md5 password-converted-to-md5 

我知道這是一個簡單的一些你們的,但我一直在谷歌上搜索了幾個小時,我感到沮喪。

非常感謝您提前。

+1

你是否確定「--md5」中的兩個破折號都是簡單的ASCII減號字符(U + 0 02D)?你可能無意中使用了U + 2010 HYPEN「 - 」,U + 2011 NON-BREAKING HYPEN「 - 」或其他類似的字符。嘗試刪除兩個破折號並重新輸入。 – 2009-10-12 12:24:28

+1

(注意:這種錯誤在編寫腳本時比使用簡單的文本編輯器時更爲常見,MS Word和類似的工具對於做自然語言文本中有意義的替換,但搞亂了代碼)臭名昭着 – 2009-10-12 12:25:25

+0

我用過MS記事本,但現在將檢查使用nano/vi - 謝謝。 – Chopper3 2009-10-12 12:59:03

回答

2

請確保您有簡單的ASCII破折號,而不是其他字符像非breaking-連字符,數學減號,短劃線,電子短劃線等最好的就是重新輸入你的線,這將有望解決你的問題

+0

你是對的,謝謝你 - 我用MS記事本編寫了腳本,出於某種原因,第一個連字符在記事本中顯示得很好,但作爲納米級可愛老MS中的重音「u」!再次感謝Chaps。 – Chopper3 2009-10-12 13:11:23

1

我會用簡單的報價,看看它的幫助:

echo 'password --md5 password-converted-to-md5' >> /boot/grub/grub.conf 

或一個變量:

echo $passwordVar' --md5 password-converted-to-md5' >> /boot/grub/grub.conf