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



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

这基本上是我所拥有的:

#!/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/someuserpasswdr@thehost:1521/dbnamer'

要登录到sqlplus,显然这是行不通的。

我也试过LOGIN_STR=$username/$passwd@$hostname:$port/$sid.. 相同的结果。

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

提前谢谢你!

请务必在.bash_profile或同等情况下执行此操作:

export SHELLOPTS
set -o igncr

这将解决Cygwin内部的这些类型的回车问题。

最新更新