对于这个问题,我可能没有完美的标题,但我想知道是否有办法做到以下几点:
基本上,我有一个带有一些键值对的文本文件和一个语句(在同一个文本文件中),它将由 shell 脚本提取,并且还需要同时替换 STATEMENT 变量中的 A、B、C 。
为了简单起见,让我举个例子。
这是我的文本文件:
文件:values.txt
A=1
B=2
C=3
STATEMENT=apple A orange B grape C
另外,我有一个 shell 脚本,它从文本文件中提取这些值和语句,并将 STATEMENT 变量用作它调用的另一个脚本的参数,例如:
脚本:first_script.sh
A=`cat values.txt | grep -w '^A' | cut -d'=' -f2`
B=`cat values.txt | grep -w '^B' | cut -d'=' -f2`
C=`cat values.txt | grep -w '^C' | cut -d'=' -f2`
STATEMENT=`cat values.txt | grep -w 'STATEMENT' | cut -d'=' -f2`
second_script.sh $STATEMENT
如您所见, second_script 是从 first_script 中调用的,它使用 STATEMENT 变量,所以我希望通过 second_script 调用看到的是:
second_script.sh apple 1 orange 2 grape 3
请注意,“A”、“B”和“C”应替换为它们的值 1、2 和 3。
但是,我得到的仍然是:
second_script.sh apple A orange B grape C
这是我不想要的。
当从 first_script 调用 second_script 时,如何确保 A、B 和 C 分别替换为 1,2 和 3?
很抱歉让您感到困惑。