检查文件中的变量值,并根据需要替换Bash脚本
这个问题与邮政有关: 我正在寻找一种方法来检查文件中的变量值,并根据需要进行更新。要更改该值,请执行以下操作:检查文件中的变量值,并根据需要替换Bash脚本,bash,variables,if-statement,sed,Bash,Variables,If Statement,Sed,这个问题与邮政有关: 我正在寻找一种方法来检查文件中的变量值,并根据需要进行更新。要更改该值,请执行以下操作: #!/bin/bash cd '/home/me/' source server.properties server_var="$server_name" echo "$server_var" echo "$application_name" if [ "$server_var" != "server1" ]; then echo "Uncorrect Value"
#!/bin/bash
cd '/home/me/'
source server.properties
server_var="$server_name"
echo "$server_var"
echo "$application_name"
if [ "$server_var" != "server1" ]; then
echo "Uncorrect Value"
sed -i -e 's@server_name=$server_var@server_name=server1@g' server.properties
fi
cd '/home/test/'
感谢您的建议,现在我的if语句可以工作了,但是sed
命令不会更新文件中的变量值。关于这个问题,你能给我指出正确的方向吗
谢谢,
if [ -n "$server_name" ]
then
sed ...
fi
顺便说一句,我认为您的
set
命令无法设置$server\u name
。它将设置$1
,$2
,等等。谢谢您的回答。我遵循了这里的讨论:关于集合--$(source server.properties似乎可以完成这项工作。实际上,我缺少的是“”,而不是“”,如果你看另一个问题,你会发现答案使用了$1
和$2
,正如我所说的.RTFM。