2016-02-25 56 views
1

解析給出一個version文件的格式如下:簡單的文件中殼

major=1 
minor=2 
patch=3 

我需要一個shell函數或一個班輪閱讀本文件並生成格式$major.$minor.$patch版本字符串。沿着線的東西:

awk '{ parse print result }' version 
+0

您忘記發佈您的代碼。 StackOverflow是關於幫助人們修復他們的代碼。這不是免費的編碼服務。任何代碼都比沒有代碼更好。國際海事組織,單線是維修的噩夢。寫一個函數,然後你有比單線更好的東西。祝你好運。 – shellter

+0

@shellter這樣做嗎?如果我有更多,我不會問這個問題。 –

+0

@shellter一個函數也可以這樣做,只是換過來了。 –

回答

4
source ./version; echo $major.$minor.$patch 

是因爲它得到簡單。這假定version文件僅包含有效的shell代碼,例如變量賦值列表。

+0

該文件運行良好。謝謝。我需要爲循環中的多個文件執行此操作。源和eval之間的選擇是否重要? –

+0

通常情況下,遠離'eval'(如果該文件包含'rm -rf /'?),該怎麼辦?如果您不想污染您當前的環境,請在子shell中運行它。例如'(你的代碼在這裏)'。 –