gpt4 book ai didi

linux - 第一个变量被 shell 脚本中的第二个变量覆盖

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:57:33 32 4
gpt4 key购买 nike

例如,我有两个 shell 脚本文件名 main.shchild.sh 和一个 ini 文件名 param.ini.

在main.sh中

#!/bin/bash
./usr/child.sh
echo $param // show Jame
var=${param}How are you
echo $var // output show only How are you and Jame is overwrited.The output should Jame How are you

在child.sh中

#!/bin/bash
./usr/param.ini

param=$name
echo $param // show Jame

在参数.ini中

 name=Jame

执行 main.sh 后,输出显示 How are you and Jame is missing。詹姆斯被覆盖。我想要的是 Jame 你好吗

最佳答案

代替 . 进行采购,使用命令 source。它会起作用。

一样获取它。 param.ini(注意.param.ini之间的空格)

sgeorge-mn:~ sgeorge$ cat main.sh 
#!/bin/bash
source child.sh
echo "$param"
var="${param}, How are you"
echo "$var"

sgeorge-mn:~ sgeorge$ cat child.sh
#!/bin/bash
source param.ini
param=$name
echo $param

sgeorge-mn:~ sgeorge$ cat param.ini
name=Jame

sgeorge-mn:~ sgeorge$ bash main.sh
Jame
Jame
Jame, How are you

关于linux - 第一个变量被 shell 脚本中的第二个变量覆盖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14473226/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com