2015-05-08 49 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

相关问题