这是我第一次使用 shell 脚本(#!/bin/sh),我一直在阅读教程等,但我坚持读和写键的值..
我试图从表单的配置文件中读取键=值对
key1_begin=abc
key1_end=def
key2_begin=123
key2_end=jkl
.. and so on
我希望用户将参数传递给脚本,例如
something.sh 1 x y z
其中第一个参数将用作用于修改相应键的。所以在我检查了目录存在并且文件存在之后,我使用它来获取它
source config.cfg
然后我使用 ID=$1 保存 id 并使用
echo key${ID}_begin
所以读取以获取密钥的值将是
echo key${ID}_begin = $[key${ID}_begin]
我希望得到“ key1_begin = abc ”,而是继续得到“ key1_begin = 0 ”。然而,相同的命令似乎适用于数字。例如,使用这个 ID 为 2 的命令给出“key2_begin = 123”
有人可以为我指出正确的方向,为什么这适用于数字而不是字母?
我用什么来改变变量的值?我目前正在使用“eval”,但这似乎只适用于数字
[ ! -z $2 ] && eval key${ID}_end=$3
非常感谢任何有关此的建议/指示。\
谢谢