2015-05-08 48 views
0

使用shell腳本,我想把名字分成一個變量。假設在我的.conf文件中的數據是這樣的:如何將變量或名稱分解爲變量?

ssh.user = root 
ssh.server = localhost 

那麼我想這個ssh.user單變量和根在另一個變量?所以我該怎麼做?

回答

1

如果你能與不變量名稱中使用點解決生活,你可以只使用source(來源將執行指定的參數作爲一個腳本文件):

一個名爲config

sshuser = root 
sshserver = localhost 

',然後使用該配置腳本:

#!/bin/bash 
source config 
echo $sshuser 

將輸出

root 

比採購其他一些技術就在這裏解釋在計算器上現在Reading a config file from a shell script


,事實證明你的變量包含一個點是一個問題,但也許另一種技術(使用awk),在另解釋另一個太問題可以幫助:How do I grab an INI value within a shell script?

適用於你的情況,這將使類似

ssshuser=$(awk -F "=" '/ssh.user/ {print $2}' configurationfile) 

最後的潛在問題,空格。看到這裏How to trim whitespace from a Bash variable?

+0

在我的配置文件中的數據是這樣的。 – akshay

+0

正如我在我的問題中提到的。所以如何在變量中分隔這些數據請幫助我 – akshay

+0

@akshay請參閱我鏈接到的文章。我解釋了採購,因爲另一篇文章沒有。 – fvu

相關問題