变量被空格替换

Variable being replaced by whitespace

我在 cygwin 终端上使用 shell 脚本复制文件中的几行。

mkdir CPM_WORKAREA
touch ~/.ssh/config
echo "Host gerrit.epk.ericsson.se" >> ~/.ssh/config
echo "HostkeyAlgorithms ssh-dss" >> ~/.ssh/config
echo "Hostname 136.225.198.208" >> ~/.ssh/config
echo User $signumid >> ~/.ssh/config
echo "PubKeyAuthentication yes" >> ~/.ssh/config
echo "IdentityFile ~/.ssh/id_rsa" >> ~/.ssh/config

在上面的文件中 $signumid 是一个变量,我试图通过命令行设置它的值:

    sh script1.sh signumid="john"

但是当上面的脚本被 运行 时,它会复制配置文件中的行,但在 signumid

的位置留空 space

赋值必须在命令之前,否则字符串 signumid=john 将被理解为脚本的参数。

signumid="john" sh script1.sh