变量被空格替换
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
我在 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