Cygwin bash 连接变量结果为 $'VALUE1/VALUE2\r'

Cygwin bash concatenate variables results in $'VALUE1/VALUE2\r'

我正在 bash 使用 CYGWIN 创建脚本。

这基本上就是我所拥有的:

#!/bin/bash

username=someuser
passwd=someuserpasswd
hostname=thehost
port=1521
sid=dbname

当我连接变量时,如

LOGIN_STR=${username}/${passwd}@${hostname}:${port}/${sid}
echo "Login String = $LOGIN_STR"

结果是:

Login String = $'someuser/someuserpasswd\r@thehost:1521/dbname\r'

要登录sqlplus,显然这不行。

我也试过LOGIN_STR=$username/$passwd@$hostname:$port/$sid..结果一样。

我知道这可能与 Windows 处理回车 returns 与 Unix 的方式有关。我不清楚我需要做些什么才能让这种情况不再发生。

提前致谢!

请务必在您的 .bash_profile 或同等文件中执行此操作:

export SHELLOPTS
set -o igncr

这将解决 Cygwin 内部的这些类型的运输问题-return。